gpt4 book ai didi

mysql - Django 中的多对多关系 - mysql 的 ISNULL() 等价物

转载 作者:行者123 更新时间:2023-11-30 21:23:19 25 4
gpt4 key购买 nike

我有两个模型,基本上是这样的:

Book(Model):
title = models.CharField(max_length = 250)
read_by = ManyToManyField(User)
...

User(Model):
firstName = models.CharField(max_length = 250)
lastName = models.CharField(max_length = 250)
...

现在,如何为每本书创建一个包含“已读” bool 值的所有书籍的列表?在 mysql 中,我可以将 ISNULL() 与 OUTER JOIN 一起使用。我怎么能在 Django 中做到这一点?我必须使用原始 mysql 吗?

澄清:我想为每个用户创建列表,以便每个用户都可以“勾选”他们读过的每本书。

最佳答案

books = Book.objects.annotate(read=models.Count('read_by'))

那么如果你只想要一个已读书籍列表::

read_books = books.exclude(read=0)

或者您可以只使用每个实例的 read 注释属性,作为一个整数,对于未读的书显然会计算出正确的 bool 值。

关于mysql - Django 中的多对多关系 - mysql 的 ISNULL() 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658715/

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