Plusieurs clés étrangères Django
29
Nov
Lors de l'utilisation de plus d'une clé étrangère dans un modèle Django en utilisant TabularInline dans l'admin de django, en essayant de créer une migration, une erreur "has more than one ForeignKey".
Pour résoudre le problème il suffit d'ajouter l'attribut fk_name avec le nom du champ du foreignkey:
#models.py:
class MyModel(models.Model):
mon_champ = models.ForeignKey(OtherModel, null=True, blank=True)
mon_champ_2 = models.ForeignKey(OtherModel2, null=True, blank=True)
#admin.py:
class OtherModelInline(TabularInlinel):
model: OtherModel
fk_name: mon_champ
class OtherModel2Inline(TabularInlinel):
model: OtherModel2
fk_name: mon_champ_2
Voilà tout est dans la documentation Django n'hésitez pas à y faire un tour, elle est extrêmement bien faite une des meilleures
Publié le: Dimanche 29 novembre 2015