2014-03-03 49 views
2

我正在使用Django並嘗試創建動態選擇字段,我已經閱讀了大量帖子,但找不到解決方案。我需要選擇「添加新元素」,所以如果用戶找不到他的選擇,他將能夠添加一個新的元素。爲django選擇字段添加一個新選項

問題是如何將該選項添加到選擇元組中。 例如,我有這樣的:

YEAR_IN_SCHOOL_CHOICES = (

    ('OPTION1', 'OPTION1'), 
    ('OPTION2', 'OPTION2'), 
    ('Other', 'Other') 
) 

如果將顯示在用戶選擇「其他」,一個新的輸入元素,當用戶提交新的選項,我應該有:

YEAR_IN_SCHOOL_CHOICES = (

    ('OPTION1', 'OPTION1'), 
    ('OPTION2', 'OPTION2'), 
    **('OptionAdded', 'OptionAdded'),** 
    ('Other', 'Other') 
) 

有一種方法來做到這一點? 謝謝

回答

4

有一種「動態選擇」模式:它被稱爲外鍵。

不要試圖通過黑客選擇元組來實現這一點。如果你希望你的模型有一組動態選項,你應該讓一個ForeignKey指向一個單獨的模型來記錄這些選擇。

+0

很好的答案!我試圖很難破解創建Choices模型時沒有考慮到的選擇元組。謝謝! – nelson687

相關問題