Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:从模型的相关集获取相关集_Python_Django_Foreign Keys_Database Relations - Fatal编程技术网

Python Django:从模型的相关集获取相关集

Python Django:从模型的相关集获取相关集,python,django,foreign-keys,database-relations,Python,Django,Foreign Keys,Database Relations,我想要这本书的所有页数,可能不需要循环每一章来取页数 class Book(models.Model): # fields class Chapter(models.Model): book = models.ForeignKey(Book) class Page(models.Model): chapter = models.ForeignKey(Chapter) 查询跨模型时,双下划线可能会有所帮助 book = Book.objects.get(pk=1)

我想要这本书的所有页数,可能不需要循环每一章来取页数

class Book(models.Model):
    # fields

class Chapter(models.Model):
     book = models.ForeignKey(Book)

class Page(models.Model):
     chapter = models.ForeignKey(Chapter)

查询跨模型时,双下划线可能会有所帮助

book = Book.objects.get(pk=1)
pages = book.chapter_set.page_set #?!?

你不能那样做。章节集是一个查询集,它没有属性页集

相反,要扭转局面:

book = Book.objects.get(pk=1)
pages = Page.objects.filter(chapter__book=book)
Page.objects.filter(chapter__book=my_book)