我有一个模型,它给了我一些奶酪的细节,现在我在列表视图中使用它,我也实现了一个搜索功能,这一切都很好。 现在我想在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
答案 0 :(得分:1)
不确定您是使用基本请求还是使用基于类的视图。有一个名为django-filters
的整洁图书馆。具有实现示例的stackoverflow answer。
如果您正在制作自定义视图,我会按如下方式进行查询:
如果您尝试按多个州Cheese.objects.filter(country='USA')
进行过滤,我会针对特定国家/地区设置Cheese.objects.filter(country__in=['USA', 'FRANCE']
。