私はPage
というモデルを持っていますが、これにはPost
が含まれています。私がしたいことは、すべてPage
と、そのページの最新のPost
を取得することです。 Page
にPost
が指定されていない場合は、まだページが必要です。 (これはおなじみですか?これはSQLではLEFT JOIN
です)。ここでDjango集約クエリ
は、私が現在持っているものです。
Page.objects.annotate(most_recent_post=Max('post__post_time'))
これはのみPage
秒を取得しますが、それはPost
Sを得ることはありません。 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)
'Page'と' Post'関係は何ですか? – dm03514
モデルを明瞭にするために追加されました – babonk