在ViewSet上调用OPTIONS将呈现实体的精彩演示,以帮助构建表单以在UI上提交它。然而,当存在ForeignKey关系时,它将尝试为此关系呈现所有可用实体。我虽然只需要一个特定的子集可供选择。有没有办法像Django Forms一样限制这个字段查询集(通过设置form.field.queryset
属性)?
答案 0 :(得分:1)
在Django REST框架3中,您可以直接在字段上设置the queryset
argument来控制允许选择哪些对象。
对于自动生成的字段,通常最终为Model.objects.all()
。您可以通过调用repr(YourSerializer())
并查看自动生成的字段的外观来确认这一点。您可以通过在序列化程序级别设置查询集in extra_kwargs
来覆盖自动生成的字段。