Hot para adicionar a capacidade de pesquisar em UserProfile para UserAdmin em Django | search_fields w / ChaveEstrangeira
-
05-07-2019 - |
Pergunta
Estou usando o gerenciamento de usuário do Django em combinação com UserProfiles que estão ligados ao modelo de usuário com ForeignKeys. Agora, eu gostaria de fazer campos de perfis dos usuários pesquisável do UserAdmin.
Meu melhor palpite era usuário algo como isto:
class UserAdmin(auth.admin.UserAdmin):
def field_name(self, obj):
return obj.get_profile().name
list_display = ('field_name',)
search_fields = ('field_name',)
Considerando list_display funciona bem, search_fields dá-me uma mensagem de erro ao enviar uma consulta: Não é possível resolver palavra-chave 'field_name' no campo. As opções são: [...]
Você tem alguma idéia de como fazer isso? Agradecemos antecipadamente.
Solução
Você pode usar a notação queryset com o duplo sublinhado __ para indicar se junta por exemplo.
search_fields = ('company_name','user__username')
http: // docs. djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships
para mais