从Django模型中,如何获得所有这些片段 a的完整列表,其中仅包含最新的修订版外键?
可能会有一个包含5个修订版的片段,但我只想要最新版本。
# models.py
class Revision(models.Model):
slug = models.CharField(max_length=16)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Snippet(models.Model):
user = models.ForeignKey(User)
revision = models.ForeignKey(Revision)
# views.py
def a_view(request):
Snippets.objects.all().filter(user=request.user)
我无法找到说.filter(revision__max=id)
的方法。我实际上不知道该怎么做,因为我认为当我想到它时,我可能会错误地设计模型。
答案 0 :(得分:4)
您可以使用latest()
:
Snippets.objects.filter(user=request.user).latest('revision__created_at')