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