Django过滤多对多的ID列表

时间:2015-05-27 12:23:31

标签: django django-models

我试图在模型中过滤多对多字段,我在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)
  

错误:TypeError:相关字段无效查找:id_in

如果是这样可以吗?

1 个答案:

答案 0 :(得分:1)

它应该是categories__id__in(双下划线)。

请参阅Django documentation: QuerySet API reference

更新:如果使用

  

以逗号分隔的ID列表

你的意思是逗号分隔的字符串的ids,那么你应该:

cat_ids = self.request.QUERY_PARAMS.get('cat_ids', None).split(',')