He intentado filtrar un queryset en un modelo simple pero sin suerte hasta el momento.Django: filtro para get_foo_display en un Queryset
Aquí es mi modelo:
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()
y me gustaría hacer algo como:
Country.objects.filter(get_code_display__icontains="france")
Country.objects.filter(code__display__icontains="france")
Country.objects.filter(get_code_display__icontains="france")
Pero ninguno de los de arriba están trabajando. ¿Cómo se filtra en un campo que tiene un atributo choices
? Pensé que el __unicode__
reemplazado ayudaría, pero creo que me falta algo.
Gracias Daniel por su respuesta. – jtheoof
¿Hay algo que django pueda hacer al respecto para hacerlo un poco más fácil? Pensé que sería una operación común – Sevenearths
La clase ['Choices'] (https://bitbucket.org/carljm/django-model-utils/src#rst-header-choices) en ** django-model-utils * * puede ser útil de esta manera. – caesarsol