Одна база данных с несколькими экземплярами Django - PullRequest
1 голос
/ 27 марта 2010

У меня есть проект Django, где у компании будет основной сайт, например www.ourcompany.org, и несколько поддоменов, таких как project.ourcompany.org. Содержимое, появляющееся в поддоменах, например, тематические исследования, также должно отображаться на основном сайте. Я решил использовать несколько экземпляров Django, НО по одной базе данных для каждого субдомена, чтобы иметь некоторую гибкость и воспользоваться преимуществами инфраструктуры сайтов. В чем я не уверен, так это как получить доступ к моделям в нескольких экземплярах. Если у меня есть модель:

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

Нужно ли создавать эту модель в каждом экземпляре, чтобы иметь доступ к объекту?

1 Ответ

1 голос
/ 27 марта 2010

Я просто предполагаю, что у вас есть веские причины иметь отдельные экземпляры django, а не выполнять интеллектуальный анализ URL-адресов в одном проекте django, поскольку это кажется мне более простым. Но я вижу причины, чтобы сделать это нелегко.

Пожалуйста, не копируйте код модели в каждый из ваших проектов - это ведет к безумию. Вместо этого поместите модели, которыми вы хотите поделиться, в общий каталог и убедитесь, что в него включена переменная среды PYTHONPATH, чтобы каждый экземпляр мог ее найти.

...