/ / django потребителски модел чуждестранен ключ към компанията - django, django-models, django-orm

django потребителски модел чуждестранен ключ към компанията - django, django-models, django-orm

Започвам първия си проект 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, тъй като ще имате възможност да добавите още параметри и методи по отношение на вашия проект.