Nullable one to one vs foreign key в django

История: У меня есть три модели, 1.Пользователи 2.Студент 3.Учреждение. В начале пользователь может быть либо студентом, либо учреждением, как только пользователь регистрируется как студент, ему нужно заполнить свой профиль (модель студента). Теперь модель Student является связью OneToOne с Users. вот как работает старая система.

class Student(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

Проблема: Теперь мое новое требование заключается в том, что "Учреждение" может добавлять любое количество новых студентов. Это означает, что они могут добавлять новых студентов на своем портале

Для решения этой проблемы я нашел два подхода,

Подход 1:

В модели студента - сделайте поле один к одному как null=True, blank=True и затем добавьте дополнительное поле как институт и затем отслеживайте студентов, добавленных институтом или

Подход 2:

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

Какой подход правильный? Пожалуйста, помогите

Вернуться на верх