2010-03-27 43 views
0

我有一个Django项目,公司将拥有一个像www.ourcompany.org这样的主站点和一些子域,比如project.ourcompany.org。在案例研究等子域中出现的内容也应出现在主站点中。我决定为每个子域使用Django的多个实例但只有一个数据库,这样我可以有一定的灵活性并利用Sites框架。我不确定的是如何跨多个实例访问模型。如果我有一个模型:具有多个Django实例的单个数据库

class CaseStudy(models.Model): 
    title=models.CharField(max_length=100) 
    site=models.ManyToMany(Site) 

我是否需要在每个实例中创建此模型,以便我可以访问该对象?

回答

1

我只假设你有单独的django实例,而不是在单个django项目中进行智能URL解析的充分理由,因为这对我来说似乎更容易。但我可以看到理由也是这样做的。

请不要将模型代码复制到您的每个项目中 - 这样会导致疯狂。相反,将要共享的模型放入一个公共目录,并确保它包含PYTHONPATH环境变量,以便每个实例都可以找到它。

+1

我还没有尝试过查看智能URL解析,我看看http://effbot.org/zone/django-multihost.htm,但似乎是一个选项尝试。我只是认为基于Site框架的多个实例会更好。在我的项目中,每个子域都会有网页编辑器来管理这些内容。 – jwesonga 2010-03-27 07:14:23

相关问题