O perfil não seria um usuário ? Só faltaria adicionar um campo senha no model do Perfil.
Por que preciso ter essa separação de usuário e perfil?
O perfil não seria um usuário ? Só faltaria adicionar um campo senha no model do Perfil.
Por que preciso ter essa separação de usuário e perfil?
Ola Sony!
Para que você possa usufruir da infraestrutura de autenticação do Django você teria que usar a classe User
no lugar de Perfil
. Veja que isso não faria sentido, porque a classe User
que já vem com o Django não possui todos os atributos que precisamos.
Foi por isso que criamos uma associação da classe Perfil
com a classe User
através do nome usuario
. Com isso, podemos continuar com nossa classe Perfil
e ainda pegar carona na infra do Django de autenticação de usuário.
Ficou mais claro agora? É uma forma de resolver o problema de autenticação.
Oi Sony! Aguardo seu Feedback para saber se esta tudo ok.
Entendi depois que vi a última aula ficou mais claro. Mas eu poderia fazer a classe Perfil herdar a classe User.. Dessa forma User seria a classe Pai e Perfil a classe Filho? Isso funcionaria? Ou a melhor forma eh fazer atribuição ou as duas formas dariam certo?
Em teoria deve funcionar, apesar deu usar composição ao invés de herança, que é o caso do nosso projeto. Usar composição como você fez evita que se um dia alguém adicionar métodos bizarros em User
sua classe Perfil
não será afetada, pois ela só usará o essencial para realizar a autenticação.
Por fim, sugiro você pesquisar o tema: composição x herança para engrandecer ainda mais o assunto.
Bom estudo Sony!
Entendi..realmente faz sentido o que você falou.. Vou da uma pesquisada sim nesse assunto.
Obrigado :)