关于 python:AppEngine 中的非数据存储类型列表? | 珊瑚贝

List of non-datastore types in AppEngine?


我正在构建一个 AppEngine 模型类。我需要一个简单的元组列表:

1
2
3
4
5
6
class MyTuple(object):
  field1 =“string”
  field2 = 3

class MyModel(db.Model):
  the_list = db.ListProperty(MyTuple)

这不起作用,因为 AppEngine 不接受 MyTuple 作为有效字段。

我能想到的解决方案:

  • 使 MyTuple 扩展 db.Model。但这是否意味着列表中的每个条目都将存储在专用的 MyTuple 表中?

  • 使其成为字符串列表,这是 MyTuple 的”序列化”形式;添加解析(反序列化)代码。呸。

  • 维护两个列表(一个字符串,一个整数)。另一个恶心。

  • 我还缺少任何其他解决方案吗?


    在 app-engine-patch 中有一个 FakeModelListProperty 和 FakeModel(都从 ragendja.dbutils 导入)。从 FakeModel 派生 MyTuple 并设置 fields = (\\’field1\\’, \\’field2\\’)。这些字段在存储在列表中时会自动转换为 JSON,因此您可以在 textarea 中手动编辑它们。当然,这只适用于原始类型(字符串、整数等)。如果这还不够,请查看源代码。

    http://code.google.com/p/app-engine-patch/


    来源:https://www.codenong.com/874122/

    微信公众号
    手机浏览(小程序)

    Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9666.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
    0
    分享到:
    没有账号? 忘记密码?