Таким образом, дополнительное поле в наборе запросов можно использовать для добавления дополнительных столбцов к вашему запросу select, которые, в свою очередь, могут быть установлены в качестве порядка по умолчанию. Я до сих пор был в состоянии достичь этого: создал дополнительное поле и затем установить его в качестве порядка по умолчанию.
qs = qs.extra(select={'natname':"concat('0', nat, name)"}, order_by=['natname'])
Теперь в моем интерфейсе администратора у меня есть другие мои поля {name, nat, location, space, ....}
, и результаты из таблицы упорядочиваются по natname
, когда страница загружена ... идеально.
Но теперь я хочу включить упорядочение в поле name
, но вместо упорядочения по name
я хочу упорядочить его по natname
. Это возможно?
Так что, хотя natname
является дополнительным полем, я хочу каким-то образом связать столбец name
с natname
, когда дело доходит до упорядочения.
Прямо сейчас, если я сделаю qs.query.__str__()
, я получу запрос sql с order by natname
. Когда я нажимаю на столбец name
, упорядочить по изменению на name
, но только для этого особого случая я хочу, чтобы он заказал по natname
. Это возможно?
Я посмотрел, как Django генерирует заголовки и представления для этих автоматизированных административных страниц в <django-installation-path>/contrib/admin
, но он ссылается только на набор list_display
, определенный в ModelAdmin
для этой модели. Если я внесу какие-либо изменения, отображаемые столбцы изменятся в представлении администратора.
Это может звучать немного странно. Если вам нужны конкретные детали, пожалуйста, не стесняйтесь спрашивать.
Спасибо.