![]() |
1
2
我想你已经概述了两种简单的可能性。要么对泛型执行单个筛选查询,然后将每个项强制转换为其特定的子类型(结果为n+1查询,其中n是返回的项数),要么对每个特定表执行单独的查询(结果为k查询,其中k是特定类型的数)。 事实上,有必要进行基准测试,看看哪一个在现实中更快。第二个似乎更好,因为(可能)查询更少,但每个查询都必须执行与m2m中间表的连接。在前一种情况下,只执行一个连接查询,然后执行许多简单的连接查询。一些数据库后端在处理大量小查询时比处理更少、更复杂的查询时性能更好。 |
![]() |
2
1
这不是一个完整的答案,但这样做可以避免大量点击
与此相反:
实际上,通过强制转换到python列表,可以强制django orm加载queryset中的所有元素。然后,它在一个查询中执行此操作。 |
![]() |
3
0
我无意中发现了以下帖子,它基本上回答了你的问题: http://lazypython.blogspot.com/2008/11/timeline-view-in-django.html |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 3 年前 |
![]() |
Chance · 根据Sequelize中的字段拉入特定记录/行 3 年前 |
![]() |
lambchop01 · GORM如何为相似实体之间的关系建模 3 年前 |
![]() |
Shale · 如何将此查询更改为ORM? 3 年前 |
![]() |
Daniel Morales · 替换mongo DB中的嵌入字段 3 年前 |
![]() |
Vinay P · NodeJS和ORM? 7 年前 |
![]() |
MadDoctor5813 · 在Django模型中创建“简单”字典? 7 年前 |