如何创建一个查询?

问题描述 投票:0回答:1

一位作者有很多书。数据库中有很多作者都有书籍。需要获得作者的最新书籍。在一个查询中。

class Autor(models.Model):
    name = models.Charfield()


class Book(models.Model):
    name = models.Charfield()
    author = models.ForegnKey("Autors", models.CASCADE)
    created_at = models.DatetimeField(auto_now_add=True)

# its a many queries
last_books = []
for author in Autor.objects.all():
    last_book = Book.object.filter(autor=autor).latest("created_at")
    last_books.append(last_book)
# need one query
python django django-orm
1个回答
0
投票

由作者获得所有书籍,以降序排列并获取第一条记录

latest_books = []
for author in Author.objects.all():
    last_book = Books.objects.filter(author=author).order_by("-created_at")[0]
    latest_books.append(last_book)
© www.soinside.com 2019 - 2024. All rights reserved.