![]() |
1
17
使用自定义管理器创建和维护FK关系。 管理器可以在更新子项集时更新计数。
你不需要信号。只是延伸
|
![]() |
2
10
我发现 django-denorm 要有用。它使用数据库级触发器而不是信号,但据我所知,还有基于不同方法的分支。 |
![]() |
3
5
非规范化将使维护更加困难
; 出于这个原因,我会尝试
避开它
尽可能多地使用缓存或其他技术,例如使用
|
![]() |
4
3
Django提供了一个很好的、高效的(尽管不是很出名)替代方案 反规范化 . 它将节省许多代码行,而且速度非常慢,因为您在同一个SQL查询中检索计数。
在your views.py中,使用 annotations :
每个BlogEntry都有一个额外的字段,其中包含评论数,以及BlobEntry的其余字段。 您也可以在模板中使用此额外字段:
这不仅可以节省编码和维护时间,而且非常有效(执行查询只需要稍长的时间)。 |
![]() |
5
-1
为什么不使用
或者,也可以在模板本身中执行以下操作:
获取评论的数量。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |