你如何使Django应用程序可插入?

时间:2009-05-04 05:25:29

标签: django django-models django-apps

比如说我有一个博客应用程序,我希望能够进入不同的项目,但我总是希望博客与其他一些模型相关联。例如,在一种情况下,我可能希望它与用户相关联:

site.com/someuser/blog

但是在另一个网站上,我希望它与学校相关联:

site.com/someschool/blog

有没有办法让Blog应用程序可插拔,这样每当我把它放到项目中时都没有必要重新定义模型(添加外键字段)?

3 个答案:

答案 0 :(得分:6)

有几个重要的细节可以确保应用程序可以重复使用,我认为最好链接到关于该主题的两个更重要的文档集:

答案 1 :(得分:4)

您可能想查看ContentTypes框架,我用它来创建一个评论应用程序,可以用来评论数据库中的任何模型(出于不同的原因,我不想使用标准的django评论应用程序)

http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/

答案 2 :(得分:3)

Generic relationships允许您拥有任何其他模型的外键。但是,从您的问题中不清楚您希望外键链接到哪种类型的对象。我怀疑外键关系并不是真正的通用 - 你只是没有发现你的系统的另一部分也可能是一个可重用的应用程序。