модель отношений джанго «Многие К одному»

#django #database-design #relationship #one-to-many

#джанго #проектирование базы данных #отношения #один ко многим

Вопрос:

Я хочу создавать модели с этими характеристиками :

  • У пользователя есть ТОЛЬКО ОДИН профиль для добавления дополнительной информации
  • Я хочу, чтобы пользователи могли принадлежать ТОЛЬКО к ОДНОЙ организации

Правильно ли это писать :

 Class User(models.Model)  name ...   class Profile(models.Model):  user = models.OneToOneField(User, on_delete = models.CASCADE)  address = models.CharField(max_length=100)  ...  class organization(models.Model):  members = models.ForeignKey(User, on_delete=models.PROTECT)  name = models.CharField(max_length=100)  ...  

или

 Class User(models.Model)  name ...  organizatiob = models.ForeignKey(Organization, on_delete=models.CASCADE)   class Profile(models.Model):  user = models.OneToOneField(User, on_delete = models.PROTECT)  address = models.CharField(max_length=100)  ...  class organization(models.Model):  name = models.CharField(max_length=100)  ...  

Или я совсем не в себе?

Комментарии:

1. Второй. Во втором пользователь ссылается ровно на одну организацию. В организации может быть ноль, один или несколько членов.

2. Второй. Пользователь также должен быть OneToOneField не ForeignKey в организации.

3. Первое неверно, так как вы не смогли привязать нескольких пользователей к организации.