Django Rest Framework - 在 OPTIONS 上限制 ForeingKey 字段查询集?

Django Rest Framework - limit ForeingKey field queryset on OPTIONS?

在 ViewSet 上调用 OPTIONS 将呈现实体的漂亮表示,以帮助构建表单以在 UI 上提交它。然而,当存在 ForeignKey 关系时,它将尝试呈现该关系的所有可用实体。我虽然只需要一个特定的子集是可选的。有没有办法像 Django Forms 一样限制这个字段查询集(通过设置 form.field.queryset 属性)?

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

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