django:如何显示一对多关系的复选框列表?

时间:2010-09-06 14:40:18

标签: django django-forms

假设Blog模型与Entry模型存在一对多的关系。在表单中,是否有一种优雅的方式将Blog实例的条目集显示为复选框列表,以便用户可以选择和处理部分/全部条目?

1 个答案:

答案 0 :(得分:6)

不确定

class BlogForm(forms.ModelForm):
    entries = forms.ModelMultipleChoiceField(
        queryset=Entry.objects.all(),
        widget=forms.CheckboxSelectMultiple)

    class Meta:
        model = Blog

    def __init__(self, *args, **kwargs):
        super(BlogForm, self).__init__(*args, **kwargs)
        if self.instance:
            entries = Entry.objects.filter(blog=blog)
            self.fields['entries'].queryset = entries