【发布时间】:2014-07-14 16:34:59
【问题描述】:
假设我们要构建两个独立的 Django 应用程序:
- 用于投票
- 供评论
这些功能中的任何一个都可以插入到任何现有的 Django 模型中。例如,我们可能希望启用对模型 Article 的投票和评论。
但是如果我们想在 cmets 上启用投票呢? Comment 模型将取决于投票应用程序。如果我们只想使用 cmets,根本不使用投票应用程序怎么办?由于依赖关系,它不会工作。
所以,启用投票应该在在模型定义之外进行,对吧?例如,在设置中。现在,如何在不修改代码的情况下动态扩展这些现有模型?
经过一番研究,我发现了add_to_class 方法,但似乎使用它被认为是不好的开发实践。
【问题讨论】:
标签: python django django-models monkeypatching