如果一个类的相关集包含一个任意项,我如何获得它的所有条目?

问题描述 投票:1回答:1
class Book(models.Model):
    ...

class Page(models.Model):
    book = models.ForeignKey(Book)
    note = models.ForeignKey(Note)


class Note(models.Model):
    name = models.CharField()

从上面的例子中,我如何获得包含任意Note的所有Books实例?

my_note = Note.objects.get(name="Arbitrary")

pages_with_my_note = Page.objects.filter(note=my_note)

books_with_my_note = Book.objects.filter( ??? )

我正在尝试

pages_with_my_note.values_list("book").distinct() 但我得到的是

TypeError: distinct_sql()缺少1个必要的位置参数:'params'

django django-orm
1个回答
1
投票

简单的说。

books_with_my_note = Book.objects.filter(page__note__name='Arbitrary').distinct()

参考。

© www.soinside.com 2019 - 2024. All rights reserved.