Je suis en train de définir mes modèles Django en ce moment et j'ai réalisé qu'il n'y avait pas de OneToManyField
dans les types de champs du modèle. Je suis sûr qu'il y a un moyen de le faire, donc je ne suis pas sûr de ce qui me manque. J'ai essentiellement quelque chose comme ceci :
class Dude(models.Model):
numbers = models.OneToManyField('PhoneNumber')
class PhoneNumber(models.Model):
number = models.CharField()
Dans ce cas, chaque Dude
peut avoir plusieurs PhoneNumber
mais la relation doit être unidirectionnelle, en ce sens que je n'ai pas besoin de savoir de la part du PhoneNumber
dont Dude
le possède, en tant que tel, car je peux avoir de nombreux objets différents qui possèdent PhoneNumber
des instances, telles qu'un Business
par exemple :
class Business(models.Model):
numbers = models.OneToManyField('PhoneNumber')
Que remplacerais-je ? OneToManyField
(qui n'existe pas) avec dans le modèle pour représenter ce type de relation ? Je viens de Hibernate/JPA où la déclaration d'une relation un-à-plusieurs était aussi simple que :
@OneToMany
private List<PhoneNumber> phoneNumbers;
Comment puis-je exprimer cela dans Django ?