Django 过滤一个多对多的 ID 列表
Django filter a many-to-many list of IDs
我正在尝试过滤模型上的多对多字段,我在 URL...
中给出逗号分隔的 ID 列表
ids = 3,7
cat_ids = self.request.QUERY_PARAMS.get('cat_ids', None)
super(Filter, self).get_queryset(*args,**kwargs).filter(categories__id_in=cat_ids)
Error: TypeError: Related Field got invalid lookup: id_in
这可能吗?
应该是categories__id__in
(双下划线)
见Django documentation: QuerySet API reference。
更新:如果有
a comma separated list of ids
你的意思是用逗号分隔 string 个 id,那么你应该:
cat_ids = self.request.QUERY_PARAMS.get('cat_ids', None).split(',')
我正在尝试过滤模型上的多对多字段,我在 URL...
中给出逗号分隔的 ID 列表ids = 3,7
cat_ids = self.request.QUERY_PARAMS.get('cat_ids', None)
super(Filter, self).get_queryset(*args,**kwargs).filter(categories__id_in=cat_ids)
Error: TypeError: Related Field got invalid lookup: id_in
这可能吗?
应该是categories__id__in
(双下划线)
见Django documentation: QuerySet API reference。
更新:如果有
a comma separated list of ids
你的意思是用逗号分隔 string 个 id,那么你应该:
cat_ids = self.request.QUERY_PARAMS.get('cat_ids', None).split(',')