L'utilizzo di Metaclasse in Django
-
23-09-2019 - |
Domanda
Qualcuno può spiegare il motivo per cui è meta classe utilizzata nel seguente esempio.
Esempio:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
Grazie.
Soluzione
A causa autore / programmatore vuole ordinare i risultati in base al valore di campo di genere.
Altri suggerimenti
modelli Django utilizzano la classe Meta
per contenere informazioni aggiuntive sul modello che non sarebbe necessariamente opportuno contenere all'interno della classe modello stesso. Si noti che questo è non lo stesso metaclass
di Python; che è un argomento completamente diverso.
In questo caso l'ordinazione o l'ordinamento le query a questo modello da campo "di genere"
In questo caso si definisce il campo di default per l'ordinazione se non si forniscono ORDER_BY
nella query.
E 'spiegato in Django Documentazione per i modelli
https://docs.djangoproject.com/en/dev/topics/db/models/
Dare il vostro modello di metadati utilizzando una classe Meta interiore, come:
Class Employee (models.Model):
....
class Meta:
ordering = ["attribute-X"]
Un'altra opzione utile può essere utilizzato in classe Meta è verbose_name.