1

我不确定如何处理以下情况(显然是我的问题)。

我有一个带有 postgresql 的 django 设置来包含所有 django 模型数据,但我也有 mongoengine 管理(让我们称之为)扩展数据。

我在两者之间也有一个循环引用(从 django 模型到 mongoengine 文档 PK 的 mongo_id 点,从 mongoengine 到 django 模型 PK 的 db_id 点)。

显然,如果我运行dumpdata,我只会得到 django 模型数据。我怎样才能让它也从 mongoengine 转储数据?我有办法做到这一点吗?

这是为了获取数据的备份。只需抓取磁盘上的文件即可轻松完成引用文件的备份。

我没有DATABASESsettings.py文件中定义另一个(主要是因为我不需要)。那是我需要做的吗?

感谢您的任何指示。

作为奖励,如果我能在管理界面中使用那些 mongoengine 以及基本的 django 模型,我将不胜感激。

4

1 回答 1

1

首先,您可以使用mongodump转储数据

在一个项目中,我们必须将数据从一个数据库移动到另一个具有显着不同模式的数据库,因此我们创建了一个管理命令来执行此操作。如果您想以类似的方式使用它,它将具有仅移动当前Document定义的有效数据并忽略旧定义的任何可能剩余部分的优势。

转储管理命令应包含类似

from bson import json_utils
json_util.dumps(map(lambda x: x.to_mongo(), SomeDocument.objects.all()))
于 2013-05-21T16:23:36.633 回答