Django:int()参数必须是字符串或数字,而不是'ObjectId'

时间:2015-11-25 13:31:28

标签: python django mongodb django-nonrel django-mongodb-engine

在测试我与MongoDB的连接时,我将以下内容放入models.py。我不得不改变它的一些部分(JSONField),因为我使用的是较新版本的Django 1.8.7,这似乎使它无法工作:

from django.db import models
from jsonfield import JSONField

class Post(models.Model):
    title = models.CharField(max_length=200)
    text = models.TextField()
    tags = JSONField()
    comments = JSONField()

然后我跑:

from testapp.models import Post
post = Post.objects.create(
    title='Hello MongoDB!',
    text='Just wanted to drop a note from Django. Cya!',
    tags=['mongodb', 'django']
)
post.comments = []
post.comments.extend(['Great post!', 'Please, do more of these!'])
post.save()

脚本的最后一行导致错误:

TypeError: int() argument must be a string or a number, not 'ObjectId'

我的配置:Django 1.8.7,Python 2.7,Django-nonrel 1.6,django-mongodb-engine 0.6.0

0 个答案:

没有答案