如何创建动态过滤器

时间:2018-06-04 07:35:17

标签: django postgresql django-filters

我有不同的属性,如品牌,尺寸和颜色

我希望根据用户的选择动态过滤

Product.objects.filter(attributes__userchoice=some_value).

用户可以选择多个属性及其值

示例如果用户选择size = L,则查询应为

Product.objects.filter(attributes__size='L')

1 个答案:

答案 0 :(得分:0)

p = Product.objects.all()

if brand:
    p = p.filter(attributes__brand=some_value)
if size:
    p = p.filter(attributes_size=some_value)
if color:
   p = p.filter(attributes_color=some_value)

或者如果这还不够,你可以查看Django Q()