Ho cercato di filtrare un queryset su un modello semplice ma senza fortuna fino ad ora.Django: Filtro per get_foo_display in una Queryyset
Ecco il mio modello:
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()
e vorrei fare qualcosa di simile:
Country.objects.filter(get_code_display__icontains="france")
Country.objects.filter(code__display__icontains="france")
Country.objects.filter(get_code_display__icontains="france")
Ma nessuno di quelli sopra stanno lavorando. Come si filtra su un campo che ha un attributo choices
? Ho pensato che l'override di __unicode__
sarebbe stato d'aiuto ma immagino che mi manchi qualcosa.
Grazie Daniel per la risposta. – jtheoof
Non c'è qualcosa che il django possa fare per renderlo un po 'più facile. Ho pensato che sarebbe stata un'operazione comune – Sevenearths
La classe ['Choices'] (https://bitbucket.org/carljm/django-model-utils/src#rst-header-choices) su ** django-model-utils * * può essere utile in questo modo. – caesarsol