lập trình người mới ở đây. Tôi có một mô hình với nhiều hàng và tôi muốn vượt qua mỗi hàng để javascript.QuerySet không phải là JSON Serializable Django
nỗ lực đầu tiên:
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
là tên của bảng và tôi lưu trữ mỗi hàng trong events
. Thông qua đó vào một dict gọi là context
mà sau đó được chuyển đến mẫu của tôi. Sau đó, từ mẫu của tôi, tôi đã có thể làm điều gì đó như thế này:
{% for object in objects %}
<p>event.column_name</p>
{% endfor %}
và điều đó sẽ hoạt động tốt, tuy nhiên tôi không thể làm điều đó trong phần javascript.
{% for object in objects %}
var date = object.date // assuming object has a column named date
{% endfor %}
Second Cố gắng
Vì vậy, tôi đã làm một số nghiên cứu và quyết định sử dụng json.
Trong Views.py tôi thực hiện thay đổi sau đây:
return render(request, 'fullcalendar/index.html', {"obj_as_json": simplejson.dumps(context)})
và từ này, tôi hy vọng sẽ làm được điều này:
var objects = {{ obj_as_json }}
for object in objects
//Do some stuff
Nhưng tôi đã nhận lỗi QuerySet is not JSON Serializable Django
. Vì vậy, tôi ngẩng đầu lên làm thế nào để serialize đối tượng và thực hiện thay đổi sau đây:
data = serializers.serialize('json', events.objects.all())
Nhưng tôi có lỗi sau: 'QuerySet' object has no attribute 'objects'
Man, theres đã nhận được một cách dễ dàng hơn để làm những gì tôi muốn làm. Bất kỳ ý tưởng?