我遇到了一個問題,在我的django視圖中,我無法完全獲取從複雜的.annotate()
調用中獲取的所有信息。這裏是我的模型:django查詢集上的複雜註釋
RECORD_STATUS = (
(0, "Hidden"),
(1, "Unhidden"),
(2, "Deleted"),
)
class Activity(models.Model):
event_date = models.DateTimeField()
duration = models.IntegerField(default=0)
username = models.CharField(max_length=200)
record_id = models.CharField(max_length=100)
record_status = models.IntegerField(choices=RECORD_STATUS)
record_quality = models.FloatField(default=0)
我想根據不同RECORD_ID以下值傳遞給我的視圖模板:
- 平均質量
- 數
- 最新EVENT_DATE
- 總時長
and ...
...最新狀態(以最新EVENT_DATE活動狀態特定RECORD_ID)
我已經能夠讓大多數的這些按計劃,有以下查詢集codechunk但我無法搶特定record_id
的最新狀態。我傾向於認爲.extra()
電話可能是要走的路,但我似乎無法正確構建。
record_id_details = Activity.objects.values(
'record_id',
).annotate(
ave_quality=Avg('record_quality'),
count=Count('id'),
latest_event_date=Max('event_date'),
total_duration=Sum('duration'),
# Here's where I'm going wrong
# I need the record_statuses from the most recent Activities of each record_id
latest_status=,# dont know... record_status WHERE Max(event_date) ???
).order_by(sort)
任何意見,作爲對註釋的說法,會給我我需要什麼,或許有些幫助構建額外的命令,將不勝感激。謝謝!
這是排序我結束了什麼。感謝你的回答。 –