Започвам първия си проект django и бих искал да знам кой е най-добрият начин за създаване на връзка между тях User
& Company
модели.
Вариант 1 - Потребителски потребителски потребителски модел django и създаване на модел на потребителски профил
Class UserProfile(models.Model):
user = models.OneToOneField(User)
company = models.ForeignKey(Company)
Опция 2 - Създаване на потребителски модел
Class MyUser(AbstractBaseUser):
"all of the required user data -- left off for brevity"
company = models.ForeignKey(Company)
Нямам проблем с модела на базовия потребител, моязагрижеността е по-скоро свързана с ефективността, ако приложението расте в по-голям мащаб. Разбирам, че вариант 1 изисква допълнителен хит на база данни; обаче, ми харесва гъвкавостта на потребителския профил, който може да бъде променен, за да включва допълнителни критерии.
Кой вариант предпочитате, или има ли по-добър начин?
Отговори:
1 за отговор № 1Реших да създам UserProfile да дадедопълнителна гъвкавост. Въпреки че не знаем как ще се развива приложението, смятаме, че е важно да поддържаме домейна си възможно най-гъвкав. Благодарим Ви за цялата обратна връзка.
0 за отговор № 2
Така че основно зависи от случая и обхвата на използванена молбата, ако знаете, че просто се интересувате от потребителя nmae, добавете имейл, минава главно след това ще отида с вграден потребителски профил, който идва с django. В противен случай бих предпочел да направите друг UserProfile, тъй като ще имате възможност да добавите още параметри и методи по отношение на вашия проект.