繁体   English   中英

为属性字段创建别名,以在Django查询集中使用

[英]Making an alias for an attribute field, to be used in a django queryset

在Django中,如何赋予属性字段名称一个别名该别名可用于操纵查询集?

背景:我有一个查询集,其中基础模型具有一个自动生成的时间字段,称为“ submitted_on”。 我想为此时间字段使用别名(即“日期”)。 为什么? 因为我要将这个查询集与另一个查询集(具有相同的基础模型)连接起来,然后再与order_by('-date') 不用说,后一个qset已经具有'date'属性(通过annotate()附加)。

如何为前一个查询集创建“日期”别名? 目前,我正在做一些我觉得效率低下的事情: qset1 = qset1.annotate(date=Max('submitted_on'))

我正在使用Django 1.5Python 2.7

即使您可以这样做,也无助于解决您的最终问题。 您不能对来自不同模型的串联查询集使用order_by 这可能行不通,因为这是数据库对查询执行ORDER BY的请求。

看来qset1 = qset1.annotate(date=Max('submitted_on'))是我现在最接近的。 这,或使用exclude() 如果有更好的解决方案,我会进行更新。 当然,欢迎来自SO的其他专家提出自己的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM