0

我正在寻找通过“ObjectId”获取字段的方法

但是,我没有找到。

我取消了 Entries 模型

class Entries(models.Model):
    subject = models.CharField(max_length=120, null=False)
    content = models.TextField(null=False)
    created = models.DateTimeField(auto_now_add=True, auto_now=True)
    writer = models.CharField(max_length=30, null=False)


@csrf_exempt
def viewPost(request, entry_number): # ex) entry_number = '513c780210ae920f58762d3d'
    e = Entries.objects.get(id = entry_number) # error!!
    return HttpResponse('zz')

它代码引发错误,因此我尝试在代码下。

e = Entries.objects.get(_id = entry_number) # error!!
e = Entries.objects.get(pk = entry_number) # error!!
e = Entries.objects.get(id = entry_number) # error!!
e = Entries.objects.get(_id = ObjectId(entry_number)) # error!!
e = Entries.objects.get(pk = ObjectId(entry_number)) # error!!
e = Entries.objects.get(id = ObjectId(entry_number)) # error!!
e = Entries.objects(id = entry_number) # error!!

它给我看消息

'invalid literal for int() with base 10: '513c780210ae920f58762d3d', ...

因此,现在我正在使用 pymongo(没有 django 的 ORM)

d = entries_table.find_one({'_id' : ObjectId(entry_number)})
return render_to_response('view.html', {'ROOT_URL':ROOT_URL,
                                        'entry':d, 'id':d['_id']})

有人帮我使用

4

1 回答 1

0

Django ORM 现在不支持 MongoDB。请改用 PyMongo。

于 2013-03-10T13:53:40.480 回答