2011-12-27 2 views
1

Итак, у меня есть две базы данных, моя база данных разработки (по умолчанию) и моя база данных.Модель Python не ссылается на правильную базу данных при сохранении

Моя модель выглядит так:

class Derp(models.Model): 
    company = models.ForeignKey(Co) 

Остальные модели не очень актуальна.

Проблема заключается в том, что когда я иду, чтобы сохранить новый «Derp», если вы разрешите глупость, я получаю «Ошибка целостности», потому что идентификатор, который я упоминаю как мой внешний ключ, существует в моей базе данных, но не моя база данных по умолчанию.

Чтобы сделать дело немного сложнее, так как это разработка, таблица, которую я сохраняю, находится в моей базе данных разработки. Поэтому внешний ключ должен ссылаться на таблицу в разработке (и, следовательно, набросать ошибку), но мне нужно заставить ее ссылаться на мою текущую базу данных.

Помогите пожалуйста!

+0

Почему вы хотите, чтобы внешний ключ в dev db ссылался на live db? – thatwasbrilliant

+0

@thatwasbrilliant Поскольку идентификатор объекта, на который я ссылаюсь, существует в живой БД и НЕ в БД разработки. – tnw

+0

но почему? Обычно, если вы хотите, чтобы среда разработки отражала производительность, скопируйте Live DB в Dev DB. Если вы действительно не хотите этого делать, возможно, вы можете скопировать только одну таблицу, чтобы внешние ключи были разрешены. – thatwasbrilliant

ответ

4

Вы действительно не должны использовать функцию множественной базы данных Django для различения баз данных разработки и производства.

При работе в разработке вы должны иметь доступ только к dev db, а также к производственной, производственной. Не должно быть путаницы.

+0

ах, ты абсолютно прав. Я этого не видел. – tnw

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