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 № 1Decidi 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.