Django: Как сохранить экземпляр модели в базе данных другого проекта? - PullRequest
0 голосов
/ 06 сентября 2010

Предположим, что пользователь создает экземпляр MyModel в ProjectA, который использует базу данных sqlite3 site1.db.Как мне сохранить этот экземпляр в site2.db, принадлежащем ProjectB?

1 Ответ

2 голосов
/ 06 сентября 2010

Вы можете настроить две базы данных, используя Django 1.2s Поддержка нескольких дБ (например, "db_one" и "db_two") и указать, в какую базу данных вы хотите сохранить этот экземпляр: myfoo.save(using='db_one')

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...