新手編程在這裏。我有一個很多行的模型,我想將每行傳遞給javascript。QuerySet不是JSON序列化Django
第一次嘗試:
Views.py
events = Events.objects.filter(user_id=user_id) // filter by user_id
context = {
"email": request.user.email,
"login": True,
"objects": events,
}
return render(request, 'fullcalendar/index.html', context)
Events
是表的名字,我存儲在每一行中events
。將其轉換成字典context
,然後傳遞給我的模板。然後從我的模板,我能夠做這樣的事:
{% for object in objects %}
<p>event.column_name</p>
{% endfor %}
這將很好地工作,但我不能這樣做,在JavaScript部分。
{% for object in objects %}
var date = object.date // assuming object has a column named date
{% endfor %}
第二次嘗試
所以我做了一些研究,並決定使用JSON。
在Views.py我提出了以下變化:
return render(request, 'fullcalendar/index.html', {"obj_as_json": simplejson.dumps(context)})
,並從這個我希望能夠做到這一點:
var objects = {{ obj_as_json }}
for object in objects
//Do some stuff
但我得到了錯誤QuerySet is not JSON Serializable Django
。所以,我擡頭一看如何對象序列並提出了以下變化:
data = serializers.serialize('json', events.objects.all())
但我得到以下錯誤:'QuerySet' object has no attribute 'objects'
人,孤單得是做我想做一個簡單的方法。有任何想法嗎?