因此,查询集中的额外字段可用于向您的选择查询添加其他列,而这些列又可以设置为默认排序。到目前为止,我已经能够做到这一点:创建了一个额外的字段,然后将其设置为默认排序。
qs = qs.extra(select={'natname':"concat('0', nat, name)"}, order_by=['natname'])
现在,在我的管理界面中,我有其他字段{name, nat, location, space, ....}
,并且表格中的结果按natname
页面加载时排序......完美。
但现在我希望在name
现场启用排序,但不是name
order by ,而是我希望它按natname
. 这可能吗?
因此,即使是一个额外的字段,我也想在订购时以natname
某种方式绑定列。name
natname
现在,如果我这样做qs.query.__str__()
,我会得到 sql 查询order by natname
。当我单击列name
时, order by 更改为name
,但仅对于这种特殊情况,我希望它按natname
. 这可能吗?
我已经查看了 Django 如何为这些自动管理页面生成标题和视图,<django-installation-path>/contrib/admin
但它只引用了在此模型list_display
中定义的集合。ModelAdmin
如果我在那里进行任何更改,显示的列会在管理视图中更改。
听起来可能有点混乱。如果您需要特定的详细信息,请随时询问。
谢谢。