Поиск администратора не работает для моих полей - Django

У меня есть модель с зашифрованным полем.

Таким образом, поля шифруются и расшифровываются при входе и выходе из базы данных.


Проблема:

в панели администратора

  • ?q='item' не находит ни одной строки

  • ?field_name='item' находит их все!!


Любые идеи? :)


person RadiantHex    schedule 15.11.2010    source источник
comment
И покажите нам, как вы определяете поля поиска в админке!   -  person Bernhard Vallant    schedule 16.11.2010


Ответы (1)


Если я правильно понимаю ваш вопрос, вам также придется зашифровать поисковый запрос, чтобы он соответствовал записям в базе данных. Это, скорее всего, не удастся со стандартной функциональностью администратора, поскольку все поля, указанные как поля поиска, будут обрабатываться одинаково. Вам нужно будет создать свой собственный класс ChangeList и переопределить его get_query_set, чтобы он мог особым образом обрабатывать ваше поле!

person Bernhard Vallant    schedule 15.11.2010
comment
Спасибо за это!!! :) Я немного запутался, как использовать ChangeList? Самый простой способ взломать это, который я могу придумать, - это удалить поле из search_list и добавить другое поле поиска для зашифрованного поля... :) есть идеи? - person RadiantHex; 16.11.2010