gpt4 book ai didi

django - 如何查询 Django 多对多关系

转载 作者:行者123 更新时间:2023-12-02 07:16:21 25 4
gpt4 key购买 nike

请帮助我获取查询 ManyToMany 字段的结果。

基本上我有以下型号:

class Book(models.Model):
title = models.CharField(max_length=50)
authors = models.ManyToManyField(Author)

class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)

我应该如何查询我的图书模型以根据 book_id 和没有 book_id 来显示每本书的所有作者,以及如何查询由一位作者撰写的所有书籍?

我尝试按照文档中的 Pizza 和 Topping 进行操作,但我没有得到它,所以提前感谢 friend 们,祝你有美好的一天。

最佳答案

要让所有作者都获得一本书,您只需执行以下操作:

my_book.authors.all()

第二个查询要复杂得多:您需要使用注释来获取每本书的作者数量,并过滤那些数量为一的作者:

from django.db.models import Count
Book.objects.annotate(author_count=Count('authors')).filter(author_count=1)

关于django - 如何查询 Django 多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39677745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com