Django和MongoDB引擎 - 对象ID问题!

时间:2010-10-27 09:41:13

标签: python django django-models mongodb

我正在使用 Django 1.3beta django-mongodb-engine作为数据库后端。

问题是当我使用pk set保存对象时,我收到此错误:

/usr/local/lib/python2.6/dist-packages/django/db/models/fields/__init__.pyc in get_prep_lookup(self, lookup_type, value)
    290             return value
    291         elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte'):
--> 292             return self.get_prep_value(value)
    293         elif lookup_type in ('range', 'in'):
    294             return [self.get_prep_value(v) for v in value]

/usr/local/lib/python2.6/dist-packages/django/db/models/fields/__init__.pyc in get_prep_value(self, value)
    477         if value is None:
    478             return None
--> 479         return int(value)
    480
    481     def contribute_to_class(self, cls, name):

    ValueError: invalid literal for int() with base 10: '4cc75881006e4a1e0f000000'

我想这是因为mongodb项目以十六进制存储,而django需要一个int。

我有什么想法可以做些什么?

1 个答案:

答案 0 :(得分:3)

你需要django的django-nonrel fork。如果您按照已发布的链接进行操作,则会在“要求”

中看到该链接