2017-04-02 72 views
0

這裏是model.py我的樣品模型:過濾選項字段

class Division(models.Model): 
 
    title = models.CharField(max_length=10, unique=True) 
 
    ...... 
 
class Place(models.Model): 
 
    name = models.CharField(max_length=50, unique=True) 
 
    division = models.ForeignKey(Division, related_name='places') 
 
    ..... 
 
class Story(models.Model): 
 
    story_division = models.ForeignKey(Division) 
 
    story_page = models.ForeignKey(Place) 
 
    ......

在我forms.py:

class storyForm(forms.ModelForm): 
 
    class Meta: 
 
     model = Story 
 
     fields = ('story_division','story_page'...) 
 
     ......

現在我的storyForm顯示了兩個選擇字段,Division和Place,我想要的是從下拉列表中動態過濾哪些地方與上面的分區選擇有關。我怎麼做 ?

+0

我使用Django select2,它允許您使用視圖填充下拉菜單。當下拉菜單設置一個cookie併爲第二個下拉菜單請求新值時。然後它可以過濾cookie。 你也可以在JavaScript中發佈你的表單,而不是處理它,返回你製作

回答

0

我不認爲django提供這種開箱即用的功能。沒有嘗試Django select2,但我通常用ajax調用做這種事情。

所以對於你的例子:每當story_division改變時,你應該調用一個視圖來填充story_page組合。