我正在开发一个包含多个应用的项目,并希望为新闻报道添加新闻应用。
但是,我想将新闻报道链接到自定义应用中的对象,但使用开源新闻应用来运行新闻。
目前,我只是将所选的新闻应用程序入侵,以便与我的模型添加ForeignKey关系。
即。一个小部件应用程序,带有小部件模型
然后是一个新闻应用程序,其入口模型直接链接到我的小部件模型
有更好的方法吗?因为如果我想用最新版本更新新闻应用程序,它显然会覆盖我的黑客。
我可以从我的自定义模型获得链接,但工作流程应该是
不是
答案 0 :(得分:5)
我认为你可以拥有一个从外部应用程序中继承模型的模型。有点像:
MyNewsArticle(ExternalAppNewsArticle):
object = models.ForeignKey(MyObject)
只要你添加东西而不是丢弃东西,这应该有效。如果外部应用程序中的模型已声明任何自定义管理器,则必须小心,因为默认情况下Django不会继承它们。您可能需要在自己的模型中再次声明它们。