Django Admin SelectMultiple Widget

时间:2009-03-13 03:21:09

标签: django django-admin

在我的模型中,我有两个表用户和组之间的多对多关系。 在管理界面中,我看到了Groups的SelectMultiple小部件。实际上,我正在使用filter_horizo​​ntal,我在2个单独的列表中看到可用组和所选组。 是否可以过滤我可以看到的可用组列表(基于某些条件)。我不想显示组表中的所有组。 谢谢

1 个答案:

答案 0 :(得分:3)

在表单类中,您可以为组字段指定自定义查询集,然后确定表单中可用的组实例:

class UserForm(forms.ModelForm):
    # override the default groups field
    groups = forms.ModelMultipleChoiceField(
        queryset=Groups.objects.filter(YOUR_CONDITIONS),
        widget=forms.SelectMultiple,
    )

    class Meta:
        model = User