首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储在mongoDB中的Django nonrel related相关字段不再按ObjectID存储吗?

存储在mongoDB中的Django nonrel related相关字段不再按ObjectID存储吗?
EN

Stack Overflow用户
提问于 2012-05-30 17:04:33
回答 1查看 216关注 0票数 1

我有一个现有的使用MongoDB的Django nonrel had应用程序。对象的相关字段似乎是由ObjectID存储的。例如,我有一个通过OneToOneField与用户对象相关的UserProfile模型。存储的对象数据是这样的:

代码语言:javascript
复制
{
    "_id": {
        "$oid": "4f67540040e0460001000001"
    },
    "user_id": {
        "$oid": "4f67540040e0460001000000"
    },
    ....
}

我将应用程序部署在Heroku上,Heroku使用git存储库获取django nonrel项目和django-mongodb-engine。我使用的pymongo版本是2.1.1。我不确定由于哪个库的更新,我发现相关字段似乎不再由ObjectId存储。新对象数据的存储方式如下:

代码语言:javascript
复制
{
    "_id": {
        "$oid": "4f67540040e0460001000001"
    },
    "user_id": "4f67540040e0460001000000",
    ....
}

问题是它会由于数据格式不一致而导致错误。我不仅无法获取先前存储的对象的相关对象(获取"DoesNotExist: UserProfile matching query I Not exist.")。Piston也无法获取新保存对象的相关对象。

我试图在requirements.txt的git仓库URL中添加修订说明符,但没有成功,这很奇怪。

有人知道发生了什么吗?也许我必须做一个mongoDB数据更新来修复那些相关的数据id值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 17:35:07

你之前用的是什么版本?-还需要知道django-nonrel / djangotoolbox的版本。

看起来您可能必须手动迁移数据--但最好确定更改发生的位置,以确保它不是短暂的更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10813139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档