#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. Первое неверно, так как вы не смогли привязать нескольких пользователей к организации.