假设我有 2 个模型,Library 和 Book,Book 与 Library 有多对多的关系(从某种意义上说,各种图书馆都可以拥有这本书)。现在图书馆模型与用户有多对多的关系(用户可以拥有各种图书馆卡)。如何查询数据库以检索某个用户可用的所有书籍?一个示例如下所示:我有 3 个图书馆,用户在 1 和 2 中有一张卡片,但没有 3。因此查询将列出与图书馆 1 和 2 相关的所有书籍,避免重复。
现在我正在尝试:
books = Book.objects.filter(libraries__members=user).distinct()
这是正确的吗?