将实体列表传递给Jinja2模板很容易。我们都这样做:
self.response.write(template.render({ 'entity_list': entity_list })
现在我想反过来,并将列表传递给处理程序。假设我是以天真的方式做到的:
<form action="/doit" method="post">
<input type="hidden" name="entity_list" value="{{ entity_list }}">
</form>
我的处理程序获取一个unicode字符串,如下所示:
type(entity_list) = 'unicode'
entity_list = """
[MyModel(key=Key('MyModel', 5321636278435840), data='first'),
MyModel(key=Key('MyModel', 6447536185278464), data='second'),]
"""
将此字符串反序列化为MyModel实体列表的最佳方法是什么?
我可以自己解析字符串,但我不想重新发明轮子。同样,使用json(类似ndb_json_helpers)或协议缓冲区序列化和反序列化自己。