Django 用MongoDB做数据库时遇到AutoField (default primary key) values must be strings representing an ObjectId on MongoDB错误 解决方案

这错误是因为 SITE_ID 设置不正确引起的。

如果你的数据库是用'django_mongodb_engine' 引擎的,你可以通过  tellsiteid 命令获得默认的 site’s ObjectId 然后更新你的 SITE_ID :

$ ./manage.py tellsiteid
The default site's ID is u'deafbeefdeadbeef00000000'. To use the sites framework, add this line to settings.py:
SITE_ID=u'deafbeefdeadbeef00000000'



如果你的./manager.py tellsiteid 悲剧的告诉你,没有这个命令。没事,擦掉眼泪,呼出终端:

/usr/bin/mongo dbname

db.django_site.find()
然后把得到的 ID 设置到  settings里去。OK !

 

 
posted @ 2012-03-30 11:04  timest  阅读(426)  评论(0编辑  收藏  举报