Compte tenu du modèle de classe comme suit:Comment modélisez-vous ceci dans django?
alt text http://www.forteresse.net/site/stackoverflow/classes.png/image
Comment faites-vous cela en models.py?
class House(models.Model):
foo = models.CharField(max_length=123)
class Caravan(models.Model):
foo = models.CharField(max_length=123)
class Door(models.Model):
bar = models.CharField(max_length=123)
house = models.ForeignKey(House)
caravan = models.ForeignKey(Caravan)
Mais ces définitions de clé étrangère peuvent ne pas être ce qui est prévu. Comment code-tu ceci en django? L'intention est de réutiliser le même modèle "Door" pour "House" et "Caravan". Après avoir creusé plus profondément, j'ai trouvé ceci; Est-ce la bonne façon de modéliser le problème?
class House(models.Model):
foo = models.CharField(max_length=123)
class Caravan(models.Model):
foo = models.CharField(max_length=123)
class Door(models.Model):
bar = models.CharField(max_length=123)
house = models.ForeignKey(House, null=True, blank=True)
caravan = models.ForeignKey(Caravan, null=True, blank=True)
Il peut y avoir beaucoup de portes dans une maison ou dans une caravane ... – toaster
Il faut donc utiliser un ManyToManyField. –