Conversation
…ncias e favoritos
luisaferreirass
left a comment
There was a problem hiding this comment.
1. Padronização de linguagem
Vamo deixar tudo em ingês (acho que fica mais padronizado).
Precisaria alterar só a classificação dos tipos de usuário, o verbose name dos usuários e as mensagens nas views
options={
'verbose_name': 'Usuário',
'verbose_name_plural': 'Usuários',
'db_table': 'users',
}
{"mensagem": "Aqui retornaremos os imóveis favoritos (precisa do model Property finalizado)"}
2. Views
Porque você usou o ModelViewSet e não o generics?
3. SearchPreference
Não entendi o sentido de armazenar isso no banco se já tem os filtros objetivos. Tem a ver com o algoritmo de recomedação? Fiquei meio confusa nessa parte.
4. Read only fields no serializer
read_only_fields = ['email', 'user_type'] # Evitar que o user mude o próprio email/tipo na route
O usuário deveria poder alterar o seu email e quem sabe virar um dia um locador. Então, acho que isso pode ser separado no serializer.
|
Ok ok, vejo algumas coisas agora q vc perguntou e fez o review :) 1. Padronização de linguagemSobre esse ponto, eu acho perfeito a gente padronizar, eu só não tinha certeza se a gente ia fazer exatamente em inglês, porque eu estava crente que ia ser em português o MVP pra gente também depois caso necessário, levassemos a ideia pra incubadora do IMD ou enfim, até pra apresentação, mas tranquilo se for o objetivo eu refatoro o models.py e outros do app de Users pra corrigir. 2. ModelViewSet vs GenericsVamo lá, os dois vão fazer a mesma coisa no fundo — a diferença é que o As
3. SearchPreferenceISSO! Os filtros do A ideia é cruzar o histórico de preferências com os vetores dos imóveis pra gerar uma vitrine
4. read_only_fieldsConcordo com a separação — vou criar
Sobre cada campo:
|
Trouxe na PR um modelo de usuário personalizado e recursos relacionados ao gerenciamento de usuários para o app
users. As principais mudanças incluem a definição de um novo modeloUsercom campos adicionais, a adição de um modeloSearchPreference, a atualização do registro no admin, a criação de serializers e viewsets para interação com a API e a configuração do Django para usar o novo modelo de usuário. A API agora suporta endpoints de perfil do usuário e de favoritos.Modelo de usuário e preferências:
Userpersonalizado herdando deAbstractUser, comemailúnico, camposuser_type,ageegender, além da atualização das opções deMetapara nome da tabela e nomes legíveis no admin.SearchPreference, ligado um-para-um aoUser, armazenando filtros de busca de imóveis como tipo, faixa de preço, cidade e bairro.UsereSearchPreference.AUTH_USER_MODEL = 'users.User'nas configurações do projeto para ativar o modelo de usuário customizado.API e serialização:
UserSerializereSearchPreferenceSerializerpara serialização e desserialização dos dados de usuário e preferências, incluindo lógica para atualizar preferências aninhadas.UserViewSetcom endpoints para o perfil do usuário autenticado (GET/PATCH) e um placeholder para gerenciamento de favoritos.UserViewSet.Outras configurações:
app labelpersonalizado noUsersConfig.docker-compose.yaml(não relacionado diretamente aos recursos de usuário).