过滤 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)