Metaklasse in Modellen – Django / Sudo Null IT News

Django ist ein High-Level-Python-Webframework, das eine schnelle Entwicklung und ein sauberes, pragmatisches Design fördert. Es wurde von erfahrenen Programmierern erstellt und nimmt Ihnen den größten Aufwand bei der Webentwicklung, sodass Sie sich auf das Schreiben Ihrer Anwendung konzentrieren können, ohne das Rad neu erfinden zu müssen. Es ist kostenlos und Open Source. Bevor Sie fortfahren, studieren Sie Django-Modelle.

Ein Metamodell ist im Wesentlichen eine innere Klasse Ihrer Modellklasse. Das Metamodell wird hauptsächlich verwendet, um das Verhalten Ihrer Modellfelder zu ändern, z. B. das Ändern von Bestelloptionen, verbose_name und vielen anderen Optionen. Das Hinzufügen der Meta-Klasse zu Ihrem Modell ist völlig optional. Um das Meta-Modell zu verwenden, müssen Sie Ihrem Modell die Meta-Klasse hinzufügen, wie unten gezeigt:

Klasse Student(models.Model): Klasse Meta: Optionen……..

Metamodell-Optionen

Das Metamodell hat viele Optionen, die Sie Ihrem Modell in seiner inneren Metaklasse zur Verfügung stellen können

1.abstrakt

Wenn abstract = True, dann ist dieses Modell eine abstrakte Basisklasse:

Klasse student(models.Model): Klasse Meta: abstract = True 2. app_label

Wenn das Modell außerhalb von Anwendungen in INSTALLED_APPS definiert ist, muss angegeben werden, zu welcher Anwendung es gehört:

class student(models.Model): class Meta: app_label=”myapp” # App-Name hier hinzufügen 3. verbose_name

verbose_name ist im Wesentlichen ein für Menschen lesbarer Name für Ihr Modell.

class student(models.Model): class Meta: verbose_name = “stu” # verbose_name hier hinzufügen 4. bestellen

Die Reihenfolge wird hauptsächlich verwendet, um die Reihenfolge der Felder in Ihrem Modell zu ändern.

Klasse Student(models.Model): Klasse Meta: Bestellung = [-1]

Fügen Sie eine Bestellung wie folgt hinzu [-1]und die Reihenfolge ändert sich in absteigend.

5.Proxy

Wenn wir proxy=True hinzufügen, wird ein Modell, das eine Unterklasse eines anderen Modells ist, als Proxy-Modell behandelt.

Klasse Teacher(models.Model): pass class Student(Teacher): class Meta: proxy = True

So können wir ein Proxy-Modell erstellen.

6 Berechtigungen

Zusätzliche Berechtigungen (Berechtigungen), die beim Erstellen dieses Objekts in die Berechtigungstabelle eingetragen werden müssen. Berechtigungen zum Hinzufügen, Ändern, Löschen und Anzeigen werden automatisch für jedes Modell erstellt.

Klasse Student(models.Model): Klasse Meta: Berechtigungen = []

Sie können der Liste zusätzliche Berechtigungen hinzufügen.

7.db_table

Wir können den Tabellennamen mit db_table in der Metaklasse überschreiben.

Klasse student(models.Model): Klasse Meta: db_table=”X”

Dadurch wird der Tabellenname in X geändert.

8. get_latest_by

Gibt das letzte Objekt in der Tabelle basierend auf dem angegebenen Feld zurück, das normalerweise für DateField, DateTimeField oder IntegerField verwendet wird.

Klasse student(models.Model): Klasse Meta: get_latest_by = “order_date”

Gibt das letzte Bestelldatum in aufsteigender Reihenfolge zurück.

Klassenmethoden (classmethod): werden sie benötigt? Lass uns darüber reden kostenloses Webinardie am 12. Oktober stattfinden wird. Lassen Sie uns über die Funktionen von OOP in Python sprechen: über Vererbung und Mixins, überlegen Sie sich Situationen, in denen Sie auf eine Klassenmethode nicht verzichten können, schauen Sie sich Implementierungen in bekannten Bibliotheken an.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *