我有一个模型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