Первоначально я заполнял свою форму начальным значением и отключил поле, чтобы пользователь знал, что опция, которая была выбрана случайным образом для этой формы. Но я столкнулся с несколькими проблемами, и мне просто кажется, что я даже не показываю это в своей форме для пользователя, но уведомляю их позже с messages. Хотя я не совсем уверен, как это сделать. Мне нужно назначить цвет моей модели работы при отправке формы для задания. У меня есть:Установить значение формы без ввода пользователем
Это то, что я использую, чтобы выбрать, какой цвет назначить каждому новому заданию.
cur_jobs = Job.objects.filter(enddate__gte=(datetime.date.today()-timedelta(days=7)))
all_colors = Color.objects.all()
cur_colors = []
for i in cur_jobs:
cur_colors.append(i.color)
aval_colors = [x for x in all_colors if x not in cur_colors]
choice = random.choice(aval_colors)
Это мои модели:
class Job(models.Model):
---other stuff---
jobnum = models.CharField("Job Number",max_length=6, blank=False,unique=True,error_messages={'unique':'This Job Number is already taken! =)'})
color = models.ForeignKey('Color')
class Color(models.Model):
color = models.CharField(max_length=20, blank=False)
def natural_key(self):
return (self.color)
def __str__(self): #python 3.3. is __str__
return self.color
Как я могу choice
и представить его в качестве color
с экземпляром jobform
?
Форма работы:
class LimitedJobForm(forms.ModelForm):
jobnum = forms.CharField(label='Job Number')
class Meta:
model = Job
fields = ['jobnum','color','client','status']
Где экземпляр «jobform»? – gtlambert
@ lambo477 добавлено –