2012-09-09 69 views
0

我正試圖找出在django中實現一個窗體的最佳方法,該窗體上有兩個選擇域,其中一個影響另一個域中的可用選項。一個例子 - 表單字段是一個單選按鈕(可以只選擇一個選項),稱爲'美食',第二個是一個稱爲「菜單」的多選區域。如果您從'美食'中選擇'法國',那麼您會在菜單列表中獲得法國菜,但是如果選擇'中國',則會得到不同的選擇。在Django中渲染(並驗證)相關的選擇表單字段

如何在表單驗證過程中使用此服務器端。如何「綁定」兩個控件,以便只接受與菜餚選項相關的菜餚?

我該如何渲染 - 我應該在每種烹飪類型的ModelForm中傳遞,還是隻有一個菜單ModelForm,其中包含所有內容,並且只顯示/隱藏客戶端的東西?

所有的菜單選項都存儲在數據庫,並裝入作爲固定裝置,而美食是硬編碼到應用程序:

CUISINE = ((0,'French'),(1,'Chinese'),(2,'Italian')) 

class MenuItem(models.Model): 
    description = models.CharField(max_length=200) 
    cuisine = models.IntegerField('Cuisine', choices=CUISINE) 

回答