在我们的项目中,我们将ResourceRelatedField用于其中一个序列化程序中的外键字段,以符合JSON:API格式。看起来是这样:
types = ResourceRelatedField(
queryset=Type.objects,
many=True
)
我遇到的问题是,我想从此字段的查询集中排除某些项目,以便我不会从Type
模型中得到所有项目,而只是一个子集。
如果我写这样的东西不起作用:
types = ResourceRelatedField(
queryset=Type.objects.exclude(id=13),
many=True
)
在documentation中找不到任何相关内容。
答案 0 :(得分:1)
也许您可以使用SerializerMethodResourceRelatedField吗? (未经测试)。
types = SerializerMethodResourceRelatedField(many=True)
def get_types(self, obj):
return Type.objects.exclude(id=13)