我有一個模型Page
,它可以有Post
s。我想要做的是獲得每個Page
,再加上該頁面上最近的Post
。如果Page
沒有Post
s,我仍然需要該頁面。 (聽起來很熟悉?這是SQL中的一個LEFT JOIN
)。Django聚合查詢
這是我目前有:
Page.objects.annotate(most_recent_post=Max('post__post_time'))
這只是變得Page
S,但它不會Post
秒。我怎樣才能得到Post
?
型號:
class Page(models.Model):
name = models.CharField(max_length=50)
created = models.DateTimeField(auto_now_add = True)
enabled = models.BooleanField(default = True)
class Post(models.Model):
user = models.ForeignKey(User)
page = models.ForeignKey(Page)
post_time = models.DateTimeField(auto_now_add = True)
'Post'與'Page'是什麼關係?爲了清晰起見 – dm03514 2012-02-16 01:26:06
添加的模特 – babonk 2012-02-16 01:37:40