我一直在尝试在一个简单模型上过滤查询集,但是到目前为止还没有成功。
这是我的模型:
class Country(models.Model):
COUNTRY_CHOICES = (
('FR', _(u'France')),
('VE', _(u'Venezuela')),
)
code = models.CharField(max_length=2, choices=COUNTRY_CHOICES)
def __unicode__(self):
return self.get_code_display()
我想要做类似这样的事情:
Country.objects.filter(get_code_display__icontains="france")
Country.objects.filter(code__display__icontains="france")
Country.objects.filter(get_code_display__icontains="france")
但是上述方法都没有起作用,如何筛选一个具有choices
属性的字段?我认为重载 __unicode__
方法会有帮助,但我觉得我漏掉了某些东西。
Choices
类在django-model-utils中可以以这种方式使用。 - caesarsol