Django Rest框架-限制ForeingKey字段查询设置选项?

Django Rest框架-限制ForeingKey字段查询设置选项?,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,调用视图集上的选项将呈现一个良好的实体表示,以帮助构建一个表单在UI上提交它。然而,当存在ForeignKey关系时,它将尝试呈现该关系的所有可用实体。我认为只需要一个特定的子集就可以选择了。有没有办法像Django表单那样限制这个字段queryset(通过设置form.field.queryset属性) 在Django REST framework 3中,您可以直接在字段上设置,以控制允许选择哪些对象 对于自动生成的字段,通常是Model.objects.all()。您可以通过调用repr(Y

调用视图集上的选项将呈现一个良好的实体表示,以帮助构建一个表单在UI上提交它。然而,当存在ForeignKey关系时,它将尝试呈现该关系的所有可用实体。我认为只需要一个特定的子集就可以选择了。有没有办法像Django表单那样限制这个字段queryset(通过设置
form.field.queryset
属性)

在Django REST framework 3中,您可以直接在字段上设置,以控制允许选择哪些对象


对于自动生成的字段,通常是
Model.objects.all()
。您可以通过调用
repr(YourSerializer())
并查看自动生成的字段的外观来确认这一点。您可以通过在序列化程序级别设置queryset来覆盖自动生成的字段。

因此,如果我希望queryset类似于
Model.objects.exclude(id=self.id)
如何引用self?@abolotnov,您可以定义一个序列化程序字段类,并在那里设置
get\u queryset
方法,您可以访问self.parent或其他内容。。