Ich habe Probleme zu verstehen, warum bestimmte Eigenschaften in einigen Modellen existieren, so hoffe ich, dass jemand sie hier erklären kann.Django Modell Vererbung Quirks
Hier ist ein einfaches Beispiel:
class Alpha(models.Model):
one = models.PositiveIntegerField()
class Bravo(Alpha):
two = models.PositiveIntegerField()
class Charlie(Alpha):
three = models.PositiveIntegerField()
"bravo" in dir(Charlie())
True
Wie es ist, dass eine Instanz von Charlie
eine bravo
Eigenschaft hat? Gibt es einen Grund dafür? Habe ich etwas verpasst?
Noch wichtiger, warum verhindert dies, dass ich eine bravo
Eigenschaft der Klasse Charlie
hinzufügen?
...
class Charlie(Alpha):
three = models.PositiveIntegerField()
bravo = models.TextField()
Charlie()
ValueError: Cannot assign "''": "Charlie.bravo" must be a "Bravo" instance.
Ich muss * wirklich * meinen Blogbeitrag beenden, warum man nie Modellvererbung verwenden sollte. –
Wenn du es tust, poste es hier, oder? Ich würde es gerne lesen. –