/ chave estrangeira da empresa / modelo de usuário django para empresa - django, django-models, django-orm

chave estrangeira do modelo do usuário do django à companhia - django-django-models, django-orm

Estou iniciando meu primeiro projeto de django e gostaria de saber qual método é melhor para criar um relacionamento entre User E Company modelos.

Opção 1 - Modelo de usuário django existente do usuário e criar um modelo de perfil de usuário

Class UserProfile(models.Model):
user = models.OneToOneField(User)
company = models.ForeignKey(Company)

Opção 2 - Criar modelo de usuário personalizado

Class MyUser(AbstractBaseUser):
"all of the required user data -- left off for brevity"
company = models.ForeignKey(Company)

Não tenho problemas com o modelo de usuário base, meuA preocupação está mais relacionada ao desempenho SE o aplicativo crescer em uma escala maior. Sei que a opção 1 requer um acerto adicional no banco de dados; no entanto, gosto da flexibilidade de ter um UserProfile que pode ser modificado para incluir critérios adicionais.

Qual opção você prefere, ou existe uma maneira melhor?

Respostas:

1 para resposta № 1

Decidi criar o UserProfile para fornecerflexibilidade adicional. Embora não saibamos como o aplicativo crescerá, consideramos importante manter nosso domínio o mais flexível possível. Obrigado por todos os comentários.


0 para resposta № 2

Portanto, depende basicamente do caso de uso e escopodo aplicativo, se você sabe que se importa apenas com o usuário nmae, adicione e-mail, passe principalmente, então irei com o perfil de usuário incorporado que acompanha o django. Caso contrário, eu preferiria criar outro UserProfile, pois você terá a flexibilidade de adicionar mais parâmetros e métodos em relação ao seu projeto.