Mal*_*olm 4 python django json
我有一个存储在会话中的对象列表(将列表从一个视图传递到另一个视图)[好吧,必须有更好的方法来做到这一点,但这是另一个问题!]
我通过执行以下操作从会话访问列表:
object_list = request.session.get('object_list', None)
Run Code Online (Sandbox Code Playgroud)
但是这个object_list其实是一个序列化的django对象。
我现在需要的是获取这个 object_list 的所有 pk(然后重建一个干净的查询集......)
我试过这个(反序列化然后得到pk)
object_list_id=[]
for obj in serializers.deserialize("json", object_list):
object_list_id.append(obj.pk)
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用..有什么想法吗?
'DeserializedObject' object has no attribute 'pk'
Run Code Online (Sandbox Code Playgroud)
PS:如果我从循环中调试 obj,这是对象类型:
{<DeserializedObject: riskass.Rating(pk=7)>}
Run Code Online (Sandbox Code Playgroud)
Mal*_*olm 10
明白了,它在文档中没有说明这方面的任何内容!
如何在django中获取序列化对象的pk:
# filtered_ratings : list of serialized objects (serialized through django's serializer)
from django.core import serializers
for obj in serializers.deserialize("json", filtered_ratings):
pk = obj.object.pk
Run Code Online (Sandbox Code Playgroud)
希望有一天这对某人有所帮助!
| 归档时间: |
|
| 查看次数: |
1272 次 |
| 最近记录: |