我正在构建一个AppEngine模型类。我需要一个简单的元组列表:
class MyTuple(object):
field1 = "string"
field2 = 3
class MyModel(db.Model):
the_list = db.ListProperty(MyTuple)
这不起作用,因为AppEngine不接受MyTuple作为有效字段。
我能想到的解决方案:
Make MyTuple扩展db.Model。但这不意味着列表中的每个条目都将存储在专用的MyTuple表中吗?
将其设为字符串列表,这是MyTuple的“序列化”形式;添加解析(反序列化)代码。呸。
维护两个列表(一个字符串,一个整数)。另一个人。
我缺少的任何其他解决方案?
答案 0 :(得分:1)
在app-engine-patch中有一个FakeModelListProperty和FakeModel(从ragendja.dbutils导入)。从FakeModel派生MyTuple并设置fields =('field1','field2')。存储在列表中时,这些字段将自动转换为JSON,因此您可以在textarea中手动编辑它们。当然,这仅适用于原始类型(字符串,整数等)。如果这还不够,请查看来源。