2

应用程序有多种类型的对象(文章、歌曲、配置文件等),每个对象都有自己的表。所需的功能是允许用户对这些对象发表评论。考虑到的最佳方法是什么:

  • 查找延迟(检索对象及其所有评论)
  • 数据的完整性
  • 可维护性

选项包括:

  • Django contrib 评论框架,在删除操作时触发信号,调用例程从评论表中删除评论。

  • 数据库中带有触发器的 Django contrib 评论框架(需要内容类型 PK/表名之间的映射)。

  • 为每个对象类型提供一个带有外键的注释表。

  • 为每个对象类型提供一个表来表示它的评论,并使用 Django 评论框架。删除框架的评论表并使用 UNION 创建一个视图,以从评论表中检索所有评论(包括 ON UPDATE/INSERT/DELETE 触发器),模仿原始评论框架表的行为。

4

1 回答 1

1

使用 django.contrib.comments 和 django 信号。如果您需要,您可以随时切换到自定义解决方案。不要进行过早的优化,它们很难维护。

于 2012-12-04T14:01:26.367 回答