J'essaie de créer les tables de base de données pour un projet Django. Il existe une relation ManyToMany entre Arzt et Fachbereich à ArztFachbereich.Django syncdb avec le champ ManytoMany à travers la classe
class Fachbereich(models.Model):
id = models.IntegerField(db_column='FachID', primary_key=True)
name = models.CharField(db_column='Name', unique=True, max_length=100)
class Arzt(models.Model):
name = models.CharField(max_length=500)
fachbereich = models.ManyToManyField(Fachbereich, through=ArztFachbereich)
class ArztFachbereich(FachbereichUndArztFachbereiche):
arzt = models.ForeignKey(Arzt)
fachbereich = models.ForeignKey(Fachbereich)
Après l'exécution syncdb je reçois NameError: nom 'ArztFachbereich' est pas défini
Quand je change de place de Arzt et ArztFachbeeich je reçois le même NameError juste avec Arzt. Existe-t-il un moyen de le faire? Ou devrais-je le faire manuellement dans MySQL?
Oui, cela rend l'évaluation de 'ArztFachbereich' paresseuse, de sorte que l'ORM analysera d'abord toutes les classes, puis reviendra et trouvera le champ référencé. –
Merci @AndrewGorcester. Va ajouter pour répondre. – Alex
Vous êtes mon héros! Merci, ça fonctionne. Je construis vraiment ceci avec cet exemple, mais il semble que je n'ai pas pu voir ces citations ^^ – Sehebo