簡體   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