2010-03-27 6 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, а не выполнять интеллектуальный анализ URL в одном проекте django, поскольку мне кажется, что это проще для меня. Но я вижу причины, чтобы сделать это тоже трудно.

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

+1

Я не пробовал изучать интеллектуальный синтаксический анализ URL, я посмотрел на http://effbot.org/zone/django-multihost.htm, но, похоже, это один из вариантов попробовать. Я просто понял, что несколько экземпляров лучше будут основываться на структуре сайтов. В моем проекте каждый поддомен будет иметь веб-редактор, который будет управлять этим контентом. – jwesonga

Смежные вопросы