我試圖創造一個Django的驗證形式呈現的選擇列表,其中只有一個是有效的用戶。Django的「動態」覈銷單(更新)
例如,她最喜歡的比薩配料包括菠蘿和roquefort-
什麼是你最喜歡的比薩餅用戶?
- 火腿
- 菠蘿
- Anchovie
的選擇應該是隨機的,每次,在順序和值,但始終有一個有效的答案。例如,如果用戶刷新頁面,形式可能是─
什麼是你最喜歡的比薩餅?
- 馬蘇裏拉奶酪
- 火腿
- 羊乳
如何建立這樣的形式?我淹沒了。我們必須在什麼地方記錄某個特定表單的有效選擇:
- 在數據庫中爲每個問題創建條目(不可縮放)?
- 將它設置在會話(哈克)?
- 基於用戶ID(可能是可預測的)?
編輯 - 我們做比薩配料的列表存儲在數據庫 -
class UserProfile(Model):
favourite_pizza_toppings = ManyToManyField(PizzaTopping)
我要的是原樣
class QuestionForm(Form):
questions = ChoiceField(choices=(('a', RANDOMLY_CHOSEN_OPTION_A),
('b', RANDOMLY_CHOSEN_OPTION_B),
('c', RANDOMLY_CHOSEN_OPTION_C)))
如果這樣的形式,每次的時間實例化時,所有RANDOMLY_CHOSEN_OPTION
從PizzaTopping.objects.all
隨機選擇,只有一個是PizzaTopping
也UserProfile.favourite_pizza_toppings
。
我們需要驗證表單當用戶發它雖然和那是有點棘手。我們必須以某種方式記錄這是每個實例化的形式有效的選擇(a
,b
,或c
)。我們應該怎麼做?
感謝
你有任何的代碼呢? –
看來您需要知道用戶的「有效」選擇。所以需要將選擇/問題映射到用戶。 – dm03514
@ dm03514 - 我已經在數據庫中有「有效」的選擇。我會更新問題 – user1569050