想听听您的意见。在目前的阶段(1.1),你会在django中使用泛型关系还是坚持更传统的建模 - 考虑到它很难轻松地遍历和过滤这些关系(与ForeignKey,ManyToMany,OneToOne关系相比)?Django中的泛型关系
这里有一个例子 - 当每个用户最后一次看到每个页面时,他/她决定“关注”一篇文章时,他们希望接收电子邮件更新的频率以及他们何时请求最后一次,这种电子邮件最后发送给用户和页面修订日志。
因此构建一个有意义的电子邮件摘要我必须构造挺重的查询,以便用户不会获得更多的电子邮件比他们要求和消息是最翔实和简短。
一种方法 - 定义Activity模型,可以适应任何场景,并使用通用关系将它们连接到其他模型,另一种方式 - 定义单独的模型PageView,EmailUpdateLog,EmailSubscription并以“常用方式”访问它们。
使用通用关系的缺点 - 它很难编写复杂的查询,他们会运行速度较慢,上升空间 - 在模型更少的代码和广义对象更容易获得(例如活动)。
您是否发现了一种通用关系为您带来巨大优势的场景,除了只是一个有趣的概念?
也许你发现了一些其他的方式来模拟泛型关系?
谢谢。
“对于某些情况,这很好,对于某些情况它不好。”谢谢你没有说什么。 – 2009-11-29 10:31:24