2013-03-08 3 views
1

Я не уверен, как обращаться со следующим случаем (таким образом, мой вопрос, очевидно).django dumpdata ORM + mongoengine

У меня есть настройка django с postgresql, которая содержит все данные модели django, но у меня также есть mongoengine, управляющий (давайте назовем их) расширенными данными.

У меня также есть круговая ссылка между двумя (точки mongo_id от модели django до mongoengine document PK и db_id от mongoengine до модели Django PK).

Очевидно, что если я запустил dumpdata, я получаю только данные модели django. Как я могу заставить его также сбрасывать данные из mongoengine? Есть ли способ достичь этого?

Это, чтобы получить резервную копию данных. Резервное копирование файлов, на которые делается ссылка, можно легко сделать, просто захватив файл на диске.

Я не определял еще DATABASES в файле settings.py (главным образом потому, что мне не нужно было). Это то, что мне нужно сделать?

Спасибо за любые указатели.

В качестве бонуса, я был бы признателен, если бы мог эти mongoengine в интерфейсе администратора, а также базовые модели django.

ответ

1

Прежде всего, вы можете сбросить данные с помощью mongodump

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

Команда демпинг управления должна содержать что-то вроде

from bson import json_utils 
json_util.dumps(map(lambda x: x.to_mongo(), SomeDocument.objects.all())) 
Смежные вопросы