python - 在 Django 中非规范化数据的最佳方法?

标签 python mysql django

我正在开发一个简单的网络应用程序,存储一些非规范化数据很有意义。

想象一个跟踪评论的博客平台,BlogEntry 模型有一个“评论计数”字段,我想保持更新。

这样做的一种方法是使用 Django 信号。

这样做的另一种方法是直接在我的代码中放置 Hook ,以创建和删除 Comment 对象以同步调用 BlogEntry 上的某些方法来增加/减少评论计数。

我想还有其他 pythonic 方法可以使用装饰器或其他巫术来完成此任务。

在 Django 中进行非规范化的标准设计模式是什么?在实践中,是否还必须编写一致性检查器和数据修复器以防出错?

最佳答案

你在 Django 中有管理器。

使用自定义管理器来创建和维护 FK 关系。

经理可以在更新子集时更新计数。

如果您不想制作自定义管理器,只需扩展 save 方法即可。您想要对计数和求和进行非规范化的所有操作都可以在 save 中完成。

您不需要信号。只需扩展 save

关于python - 在 Django 中非规范化数据的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100924/

相关文章:

python - 如何在 python 中根据索引和长度做无限字符串?

mysql - 如何在 MySQL 中将多个列作为一个列来处理?

python - Django 模型 TimeField views.py 无法选择小时或分钟

python - 如何监控 django-piston API 调用,甚至是错误的调用

python: 在 cygwin 上使用 ctypes 时出现 sigsegv

python - 在 python 中,是否有最佳实践方法来清理包含需要转义字符的正则表达式搜索字符串?

年份的 MySql 语句

django - 模型形式。为什么我的表单没有填充模型中的数据?

Python,如何有单独的参数处理和主函数?

java - Netbeans java 应用程序 - 在 MySql 数据库上执行查询