Раньше я позволял пользователю выбирать из раскрывающегося списка цветов, но я бы предпочел выбрать один для них, поэтому я использовал следующий код, чтобы определить, какие цвета будут действительным выбором а затем случайным образом выбрал один. Я пытаюсь заставить его предварительно заполнить форму, и я получаю ошибку имени. Поцарапать мою голову, как сумасшедшую, потому что я проверил этот код, просто проложив choice
в шаблон. Поэтому я знаю, что в этом контексте код функционировал правильно. Могу ли я не сделать то, что я сделал ниже?Prepopulate 1 поле формы, которое является внешним ключом
ошибка я получаю, когда я запускаю мой сервер Name Error: name 'cur_colors' [at the list comprehension line] is not defined
но это явно ...
class LimitedJobForm(forms.ModelForm):
jobnum = forms.CharField(label='Job Number')
#get colorchoice
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)
color = forms.CharField(initial=choice)
Возможная Дубликат [Установка начального значения Джанго поля формы в \ _ \ _ INIT \ _ \ _ метод] (http://stackoverflow.com/questions/22390416/setting-initial-django-form-field -value-in-the-init-method) – binki