Verwendung von Meta-Klasse in django
-
23-09-2019 - |
Frage
Kann jemand bitte erklären, warum Meta-Klasse im folgende Beispiel verwendet wird.
Beispiel:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
Danke.
Lösung
Da Autor / Programmierer will Ergebnisse nach dem Wert des Gender Feldes sortieren.
Andere Tipps
Django Modelle verwenden, um die Meta
Klasse zusätzliche Informationen über das Modell enthalten, die nicht unbedingt angemessen innerhalb der Modellklasse zu enthalten sein würden selbst. Beachten Sie, dass dies nicht die gleiche wie Pythons metaclass
; Das ist ein ganz anderes Thema.
In diesem Fall ist es die Bestellung oder die Abfragen zu diesem Modell durch das Feld „Geschlecht“ Sortierung
In diesem Fall ist es definiert das Standardfeld für die Bestellung, wenn Sie ORDER_BY
in Ihrer Abfrage nicht geben.
Es ist für die Modelle in Django Dokumentation erklärt
https://docs.djangoproject.com/en/dev/topics/db/models/
Geben Sie Ihr Modell Metadaten durch eine innere Klasse Meta verwenden, wie:
Class Employee (models.Model):
....
class Meta:
ordering = ["attribute-X"]
Eine weitere nützliche Option kann in der Klasse Meta verwendet werden soll verbose_name.