3 django
我需要帮助获取查询我的 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)
Run Code Online (Sandbox Code Playgroud)
我应该如何查询我的书籍模型以显示每本书的所有作者,基于 book_id 而没有 book_id,以及如何查询由一个作者撰写的所有书籍?
我曾尝试关注比萨和浇头的文档,但我没有得到它,所以提前感谢朋友们,祝你有美好的一天。
要让所有作者都获得一本书,您只需执行以下操作:
my_book.authors.all()
Run Code Online (Sandbox Code Playgroud)
第二个查询要复杂得多:您需要使用注释来获取每本书的作者计数,并过滤那些计数为 1 的作者:
from django.db.models import Count
Book.objects.annotate(author_count=Count('authors')).filter(author_count=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6917 次 |
| 最近记录: |