在django模型中过滤外键选项

时间:2012-06-01 21:33:33

标签: django django-models

是否有可能在djano模型中过滤ForeignKeys字段查询? (默认情况下,django使用objects.all()我猜)。

见下面的例子:

服务器 - > Conf - > sip_conf - >同行 - >上下文

服务器 - > ext_conf - >上下文

contextFK只能在context's_ID的列表中包含在ext_conf模型中,用于Conf和ext_conf的相同ServerFK;

1 个答案:

答案 0 :(得分:1)

这是一个相对直接的限制,你可以使用limit_choices_to

任何事情都太复杂了,您需要覆盖ModelForm

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)

        self.fields['my_fk_field'].queryset = self.fields['my_fk_field'].queryset.filter(...)