【问题标题】:Django loose coupling and extending a pre-existing modelDjango 松耦合和扩展现有模型
【发布时间】:2011-07-20 04:18:00
【问题描述】:

假设我创建了一个应用程序博客 [这是无关紧要的,它就在那里,所以我可以做 app.blog.posts - 所以它实际上只是一个文件夹] 然后在博客中我在博客中创建应用程序帖子,帖子定义模型帖子。完成此操作后,我将在博客中创建一个应用程序类别,该类别应扩展模型帖子(或任何类似帖子的模型——将类别字段添加到帖子),然后创建它自己的表。如果这些应用程序完全不相关(例如:django-tags),类别如何能够在最终不知道的情况下扩展帖子?我对 django 松耦合有点困惑,所以也许有人可以向我解释一下(除非已经有例子,但我找不到遵循这种思维方式的好例子。)

【问题讨论】:

标签: python django django-models loose-coupling


【解决方案1】:

如果“扩展”意味着以某种方式添加功能,一般来说,signals 是个好主意。使用信号,您甚至可以在不修改模型文件的情况下挂钩模型的某些方法。

如果您只需要您的博客文章有类别,那么在博客文章中使用外键有什么问题?

将 django 应用程序设计为尽可能通用总是一个好主意,这意味着,如果它可能会被重用,就将其作为自己的应用程序。

【讨论】:

  • 能否举个例子,在不修改模型文件的情况下监听模型信号?
猜你喜欢
  • 2011-11-08
  • 2017-05-09
  • 2011-01-20
  • 2011-04-13
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多