Горячий, чтобы добавить возможность поиска в UserProfile для UserAdmin в Django | search_fields w / ForeignKey
-
05-07-2019 - |
Вопрос
Я использую управление пользователями Django в сочетании с UserProfiles, которые связаны с моделью User с помощью ForeignKeys. Теперь я хотел бы сделать поля из профилей пользователей доступными для поиска из UserAdmin.
Моя лучшая догадка была для пользователя что-то вроде этого:
class UserAdmin(auth.admin.UserAdmin):
def field_name(self, obj):
return obj.get_profile().name
list_display = ('field_name',)
search_fields = ('field_name',)
Тогда как list_display работает нормально, search_fields выдает мне сообщение об ошибке при отправке запроса: Невозможно разрешить ключевое слово 'field_name' в поле. Возможные варианты: [...]
Есть ли у вас какие-либо подсказки, как это сделать? Заранее спасибо.
Решение
Вы можете использовать нотацию набора запросов с двойным подчеркиванием __, чтобы указать, например, объединения.
search_fields = ('company_name','user__username')
http: // docs. djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships р>
для более