假设我们要构建两个独立的Django应用程序:
任何这些功能都可以插入任何现有的Django模型。例如,我们可能希望对模型Article
启用投票和评论。
但是如果我们想对评论进行投票怎么办? Comment
模型取决于投票应用。如果我们只想使用评论而没有投票应用程序会怎么样?由于依赖性,它不起作用。
因此,启用投票应该在外部模型定义中完成,对吧?例如,在设置中。现在,如何在不修改代码的情况下动态扩展这些现有模型?
经过一些研究后我发现add_to_class
方法,但似乎使用它被认为是不好的开发实践。
答案 0 :(得分:1)
为什么要将此功能部分设为模型的一部分?通常这些是独立的应用程序,其中的模型与文章有关系。您可以使用generic relations来定义评论或投票应用与目标模型之间的数据库关系。