2017-04-02 106 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组合。