Ich versuche, Beziehung zwischen Klasse Locomotion und Abschnitt zu erstellen. Für jede Sektion muss ein Locomotion-König gewählt werden (Class Locomotion wird um Plain/Bus/Train etc. erweitert). Und ich bekomme den Fehler über "Feld definiert eine Beziehung mit dem Modell 'Locomotion', die entweder nicht installiert ist oder abstrakt ist." Es gibt einen Weg es zu tun? Von dem, was ich bis jetzt gelesen habe, gibt es keinen guten Weg, es zu tun, oder ich täusche mich?Abstrakte Klasse als Fremdschlüssel
Meine Klasse Sektion:
class Section(RoadElements):
locomotion = models.ForeignKey(Locomotion, on_delete=models.CASCADE)
def __init__(self, *args, **kwargs):
super(Section, self).__init__(*args, **kwargs)
def __str__(self):
return self.name
die Klasse RoadElements erweitert, abstrakte als auch.
Meine Definition von Locomotion:
class Locomotion(models.Model):
transportation_firm_name = models.CharField(max_length=200)
transportation_number = models.CharField(max_length=200)
departure_date_time = models.DateTimeField()
arrival_date_time = models.DateTimeField()
reservation = models.BooleanField(default=False)
class Meta:
abstract = True
Und Klasse erweitert, zum Beispiel:
class Plain(Locomotion):
seat_number = models.CharField(max_length=200)
class_section = models.CharField(max_length=200)
** Locomotion ** ist in der gleichen App oder den gleichen models.py definiert? – trantu
Locomotion wird in derselben models.py definiert. – Yurrili
Bitte versuchen Sie 'locomotion = models.ForeignKey (" Locomotion ", on_delete = models.CASCADE)' – trantu