如何在数据库的同一列中按多个值过滤-Django

时间:2019-12-07 18:33:06

标签: python html django

现在我正在建立一个网站,您可以在其中按某些类别过滤产品。我已经建立了一个过滤器,可以在其中按名称,价格和品牌进行过滤。现在,我还想按体积过滤(目前,我的数据库中只有饮料)。但是我想有一个复选框,可以在其中同时选择多个卷。例如,如果选中了0.2、0.5和0.7的框,我想按这些体积进行过滤。我不知道如何在同一列中按多个值进行过滤。

这是我的模特:

class WhiskyContent(models.Model):
    products = models.CharField(max_length=1000)
    price = models.FloatField(default=20)
    date = models.CharField(max_length=1000)
    picture = models.CharField(max_length=1000)
    site = models.CharField(max_length=1000)
    product_link = models.CharField(max_length=100)
    shipping = models.CharField(max_length=1000)
    volume = models.FloatField(default=20)
    availability = models.BooleanField(default=True)
    brand = models.CharField(max_length=1000)
    shipping_requirements = models.FloatField(default=20)
    concentration = models.FloatField(default=20)
    price_with_shipping = models.FloatField(default=20)
    slug = models.SlugField(max_length=250, unique=True, blank=True, null=True)

我使用HTML和Bootstrap构建所有其他过滤器表单,因此,如果可能的话,我不想使用Django表单。

我希望你们能帮助我

1 个答案:

答案 0 :(得分:0)

您可以使用管道合并查询集:

WhiskyContent.objects.filter(volume=0.2) | WhiskyContent.objects.filter(volume=0.5) | WhiskyContent.objects.filter(volume=0.7)