Ich habe viele Klassen mit dem gleichen Feld namens state
, die CharField
mit Auswahl ist. Und alle diese Klassen erben von einer abstrakten Klasse. Ich beschloss, Entscheidungen Variable zu dieser abstrakten Klasse zu setzen:Django. Warum kann ich Parameter nicht von der abstrakten Modellklasse zum Kindmodellfeld übergeben?
class UsefullAbstractClass(models.Model):
NEW = 'new'
ACTUAL = 'actual'
DELETE = 'delete'
STATE_CHOICES = (
(NEW, 'new'),
(ACTUAL, 'actual'),
(DELETE, 'delete'))
class Meta:
abstract = True
Hier mein Kind Klasse:
ChildClass(UsefullAbstractClass):
state = models.CharField(
max_length=100,
choices=STATE_CHOICES)
Und ich habe
Name 'STATE_CHOICES' definiert ist, nicht
Dann verwende ich manage.py shell
für überprüfen, ob diese Variable existiert. Und alle Kindklasse hat diese Variable
>>> c = ChildClass.objects.all()
>>> c[0].STATE_CHOICES
(('new', 'new'), ('actual', 'actual'), ('delete', 'delete'))
Wie kann ich dieses Problem lösen?
Sie das Statusfeld in 'UsefullAbstractClass' statt' ChildClass' definieren – Pavan
@Pavan ja ich kann, aber in einigen anderen Modellen Ich habe verschiedene choises für Staat und möchte diese Variable einfach übersteuern. Und ich möchte verstehen, warum diese Vererbung nicht im Feld funktioniert, aber ich kann diese Variable in allen Instanzen dieser Klasse sehen –