Django 筛选数据库

Django 筛选数据库,django,filter,Django,Filter,我有一个模型,它给了我一些奶酪的细节,现在我在一个列表视图中使用它,我还实现了一个搜索功能,这一切都很好。 现在我想在html上添加过滤器选项卡。 例如:奶酪的原产地仅来自5个国家,我想显示5个国家的国旗图标,当点击这些图标时,应该只显示来自特定国家的奶酪,就像mixitup一样,如果没有动画,我可以。 我怎样才能做到这一点???? 注意:如果您想查看我的代码,那么模型、视图和html是以正常方式编写的 MODELS.PY class Cheese(models.Model): TYP

我有一个模型,它给了我一些奶酪的细节,现在我在一个列表视图中使用它,我还实现了一个搜索功能,这一切都很好。 现在我想在html上添加过滤器选项卡。 例如:奶酪的原产地仅来自5个国家,我想显示5个国家的国旗图标,当点击这些图标时,应该只显示来自特定国家的奶酪,就像mixitup一样,如果没有动画,我可以。 我怎样才能做到这一点???? 注意:如果您想查看我的代码,那么模型、视图和html是以正常方式编写的

MODELS.PY

class Cheese(models.Model):

    TYPES_CHOICES=(
        ('COW', 'COW'),
        ('GOAT', 'GOAT'),
        ('SHEEP', 'SHEEP'),
        ('BUFFALO', 'BUFFALO'),
        ('COW, GOAT & SHEEP',  'COW, GOAT & SHEEP'),
        ('COW & SHEEP',  'COW & SHEEP')
    )

    COUNTRY_CHOICES=(
        ('USA', 'USA'),
        ('UK','UK'),
        ('ITALY', 'ITALY'),
        ('FRANCE', 'FRANCE'),
        ('NETHERLANDS', 'NETHERLANDS')
    )

    origin = models.CharField(max_length=100)
    title =  models.CharField(max_length=100)
    types =  models.CharField(max_length=100, choices=TYPES_CHOICES)
    about =  models.TextField()
    serve =  models.CharField(max_length=1000)
    image = models.ImageField(
        null=True, 
        blank=True,
        width_field="width_field",
        height_field= "height_field")
    width_field = models.IntegerField(default=550)
    height_field = models.IntegerField(default=550)
    country = models.CharField(max_length=50, choices=COUNTRY_CHOICES)
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)

    def __unicode__(self):
        return self.title

不确定您是使用基本请求还是使用基于类的视图。有一个整洁的图书馆叫做。一个stackoverflow的实现示例

如果您正在创建自定义视图,我将按照以下方式进行查询:


我会为一个特定的国家做一个
Cheese.objects.filter(country='USA')
,如果你想按多个州进行筛选
Cheese.objects.filter(country_uin=['USA',FRANCE']

谢谢,我得到了过滤部分..但我不明白的是,如何将其应用到工作中??例如:在我的视图中.py我创建了过滤奶酪.objects.filter(国家/地区=['USA','FRANCE']。我如何将其链接到我的模板?假设我创建了4个带有国家名称的按钮,我将如何使该按钮提供过滤结果??该按钮与过滤器的连接应如何,并且我已经使用循环在html中显示了所有项的列表。