How to implement Django QuerySet filter on Cartesian product/List of lists?

问题描述 投票:0回答:0

我想根据嵌套列表的值在 Django 中实现查询集过滤,例如

titles = [ ['nike', '38', 'blue'], 
          ['nike', '38', 'grey'],
          ['adidas', '38', 'blue'], 
          ['adidas', '38', 'grey'],
          ['salmon', '38', 'blue'], 
          ['salmon', '38', 'grey'] ]

查询集是:

queryset = Product.objects.all()

你有什么建议动态地做下面的事情:

# | mark means OR
queryset.filter(attribute__title='nike').filter(attribute__title='38').filter(attribute__title='blue') |
queryset.filter(attribute__title='nike').filter(attribute__title='38').filter(attribute__title='grey') |
queryset.filter(attribute__title='adidas').filter(attribute__title='38').filter(attribute__title='blue') |
...
queryset.filter(attribute__title='salmon').filter(attribute__title='38').filter(attribute__title='grey')

感谢您的帮助。

如果您对数据库方案感兴趣:

django list filter django-rest-framework django-queryset
© www.soinside.com 2019 - 2024. All rights reserved.