Clé Étrangère Django Modèle
Je suis en train de créer 3 modèles ; Person
, Address
et Anniversy
. Le plan est d'avoir une adresse et un anniversy pour chaque personne. Mais chaque adresse et anniversy peut avoir plusieurs personnes.
Pour l'instant j'ai de la suite, mais je pense que le OneToMany(foreign key)
des relations peut-être dans le mauvais sens. j'.e chaque adresse peut avoir une personne, mais chaque personne peut avoir plusieurs adresses.
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
birthday = models.DateField()
def __unicode__(self):
return u'%s' % (self.name)
class Address(models.Model):
person = models.ForeignKey(Person)
address = models.CharField(max_length=150)
def __unicode__(self):
return u'%s' % (self.address)
class Anniversy(models.Model):
person = models.ForeignKey(Person)
anniversy = models.DateField()
def __unicode__(self):
return u'%s' % (self.anniversy)
Vous devez vous connecter pour publier un commentaire.
Vous créer des relations dans l'autre sens; ajouter des clés étrangères au
Person
type pour créer une many-to-One relation:Une personne ne peut être relié à un adresse et un anniversaire, mais les adresses et les anniversaires peuvent être référencées à partir de plusieurs
Person
entrées.Anniversary
etAddress
objets sera donné un sens inverse, vers l'arrière de la relation trop; par défaut, il sera appeléperson_set
mais vous pouvez configurer un nom différent si vous en avez besoin. Voir la Suite de les relations "en arrière" dans les requêtes de la documentation.on_delete
est obligatoire