我是我的Django应用程序,我正在获取特定模型的所有对象,如下所示:

secs = Sections.objects.filter(order__gt = 5)

我将这个变量传递给我的模板,我可以访问Model的所有属性,如section.namesection.id等.

有一个名为Books的型号,它对Sections型号有FK.当我迭代模板中的secs个变量时,如何访问每个章节的图书计数?大概是{{ sec.Books.count }}吧??

谢谢

推荐答案

如果Books的ForeignKey为Sections,那么Django将自动创建从Sections Back到Books的反向关系,这将称为books_set.这是一个管理器,这意味着您可以在其上使用.filter().get().count()-并且您可以在您的模板中使用它们.

{{ sec.books_set.count }}

(顺便说一下,您的模型名称应该使用单数名词,而不是复数-Book而不是Books.该模型的一个实例保存一本书的信息,而不是多本书的信息.)

Django相关问答推荐

对象Django API中的对象

如何在创建对象后立即运行一次代码?

我如何告诉Django如何恢复自定义迁移?

Django AWS S3对象存储boto3媒体上传报错

Django ORM:子查询上的文本聚合器

Django:如何在表单 clean() 方法的 django 验证错误中添加 超链接?

使用 args 和选项编写自定义管理命令 - 所需字段说明

如何在 Django 中创建一个独特的 slug

在 virtualenv Ubuntu 12.10 中使用 pip 安装 lxml 错误:command 'gcc' failed with exit status 4

使用 Python / Django 的 Google API 示例的 Oauth

Django -- User.DoesNotExist 不存在?

在 Django 1.8 或更高版本中填充时出现Models aren't loaded yet"错误

Django 有 SmallIntegerField 的原因是什么?

如何查询名称包含python列表中任何单词的模型?

引发 404 并继续 URL 链

Django 1.7 - 如何 suppress (1_6.W001)某些元素单元测试可能无法按预期执行.?

为整个结果集向 Django Rest Framework 结果添加额外数据

想要在 Django 测试中禁用信号

ImportError:没有名为 django_filters 的模块

获取'str'对象在Django中没有属性'get'