在我们的项目中,我们使用ResourceRelatedField作为序列化程序之一中的外键字段,以符合JSON:API格式。这是它的外观:
types = ResourceRelatedField(
queryset=Type.objects,
many=True
)
我遇到的问题是我想从此字段的查询集中排除某些项目,这样我就不会从Type
模型中获取所有项目,而是从子集中获取。
如果我写这样的东西,它不起作用:
types = ResourceRelatedField(
queryset=Type.objects.exclude(id=13),
many=True
)
在文档中找不到任何相关内容。
也许您可以使用 SerializerMethodResourceRelatedField?(未测试(。
types = SerializerMethodResourceRelatedField(many=True)
def get_types(self, obj):
return Type.objects.exclude(id=13)