0
我在尋找通過「ObjectId」得到字段的方法如何找到django中的「ObjectId」mongodb的字段?
但是,我沒有找到。
我decleared項模型
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']})
有人幫助我使用
你得到那個錯誤,因爲id只允許數字(int)。你有沒有看到你的輸入值= 513c780210ae920f58762d3d,它有字母 – catherine 2013-03-10 13:57:40
是的,我知道。但是,我想通過objectid – geeeek 2013-03-10 14:38:39
得到好吧我會嘗試搜索關於objectId – catherine 2013-03-10 14:47:18