假设您有一个包含有关该事件的信息的事件模型。但是关于slug,标题和元描述等内容会进入HTML?
看起来这些东西恰好属于Page模型的属性,而不属于Events模型。
有没有正确的方法呢?一种方法相对于另一种方法的优缺点是什么?
答案 0 :(得分:1)
一个Event有一些一等属性和一些“派生”属性。
让我们关注Django。
例如,您的模型可能有一个很长的标题和派生的slug。
您可以轻松地为此派生数据定义类方法。
但是,在某些情况下,您需要对模型进行非规范化以使派生数据持久化。在这种情况下,您将拥有其他属性,您将通过save()方法设置这些属性。
“正确”是明确定义的 - 第3范式是正确的。如果不经常计算派生字段,您可以负担得起。在某些情况下,您必须打破3NF并保留数据以提高性能。