Python 过滤Django ResourceRelatedField的查询集

Python 过滤Django ResourceRelatedField的查询集,python,django,django-rest-framework,jsonapi-serialize,Python,Django,Django Rest Framework,Jsonapi Serialize,在我们的项目中,我们使用ResourceRelatedField作为一个序列化程序中的外键字段,以符合JSON:API格式。这就是它的样子: types = ResourceRelatedField( queryset=Type.objects, many=True ) 我遇到的问题是,我想从这个字段的queryset中排除一些项,这样我就不会从类型模型中获取所有项,而是获取一个子集 如果我写了这样的东西,它就不起作用了: types =

在我们的项目中,我们使用ResourceRelatedField作为一个序列化程序中的外键字段,以符合JSON:API格式。这就是它的样子:

    types = ResourceRelatedField(
        queryset=Type.objects,
        many=True
    )
我遇到的问题是,我想从这个字段的queryset中排除一些项,这样我就不会从类型模型中获取所有项,而是获取一个子集

如果我写了这样的东西,它就不起作用了:

    types = ResourceRelatedField(
        queryset=Type.objects.exclude(id=13),
        many=True
    )

在中找不到任何相关内容。

也许您可以使用SerializerMethodResourceRelated字段?没有测试

types = SerializerMethodResourceRelatedField(many=True)

def get_types(self, obj):
    return  Type.objects.exclude(id=13)

嗨,我遇到了类似的问题。你愿意分享你的工作方案吗?我正在尝试Aprimus的解决方案,但遇到了以下错误:AssertionError:Relational field必须提供queryset参数、重写get_queryset或设置read_only=True。嘿!不幸的是,我已经不记得了,在那之后我们对代码进行了上千次重构:对不起,伙计,谢谢。谢谢你的回答。