Я пытался отфильтровать набор запросов на простой модели, но пока не повезло.Django: Фильтр для get_foo_display в Queryset
Вот моя модель:
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__
поможет, но я думаю, что я что-то упустил.
Спасибо Даниилу за ваш ответ. – jtheoof
Не может быть что-то, что может сделать django, чтобы сделать его немного легче. Я думал, что это будет общая операция. – Sevenearths
Класс ['Choices'] (https://bitbucket.org/carljm/django-model-utils/src#rst-header-choices) на ** django-model-utils * * может быть полезным таким образом. – caesarsol