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