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