1

我正在开发一个包含多个应用程序的项目,并希望包含一个用于新闻报道的新闻应用程序。

但是,我想将新闻报道链接到我的自定义应用程序中的对象,但使用开源新闻应用程序来运行新闻。

目前,我只是简单地破解了所选新闻应用程序,以添加与我的模型的 ForeignKey 关系。

即一个小部件应用程序,具有小部件模型

然后是一个新闻应用程序,其入口模型直接链接到我的小部件模型

有一个更好的方法吗?因为如果我想用它的最新版本更新新闻应用程序,它显然会覆盖我的 hack。

我可以从我的自定义模型中获得链接,但工作流程确实应该是

  1. 添加新闻文章
  2. 选择一个小部件将其链接到

不是

  1. 添加新闻文章,保存
  2. 找到将其链接到的小部件
  3. 链接回新闻文章
4

1 回答 1

5

我认为您可以拥有一个从外部应用程序中的模型继承的模型。类似于以下内容:

MyNewsArticle(ExternalAppNewsArticle):
    object = models.ForeignKey(MyObject)

只要您添加东西而不是删除东西,这应该可以工作。如果来自外部应用程序的模型声明了任何自定义管理器,则必须小心,因为默认情况下 Django 不会继承它们。您可能需要在自己的模型中再次声明它们。

于 2010-01-04T14:29:32.677 回答