以前我讓用戶從顏色的下拉列表中選擇,但我想爲他們選擇一個,所以我使用下面的代碼來確定哪些顏色是有效的選擇然後隨機選擇一個。我試圖讓它在表單中預先填充,並且出現名稱錯誤。抓住我的頭像瘋了一樣,因爲我已經通過簡單地將choice
管入模板中來測試此代碼。所以我知道在這種情況下代碼正常運行。我不能做我以下做的事嗎?預填充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)
[在\ _ \ _初始化\ _ \ _方法設置初始Django的表單字段值]的可能的複製(http://stackoverflow.com/questions/22390416/setting-initial-django-form-field -init-method) – binki