小编Chi*_*ato的帖子

有效实现与Python NDB的一对多关系

我想听听您对有效实现与Python NDB的一对多关系的看法.(例如人(一)到任务(很多))

根据我的理解,有三种方法可以实现它.

  1. 使用'parent'参数
  2. 使用'重复'结构化属性
  3. 使用'重复'键属性

我通常会选择一种基于下面逻辑的方法,但这对你有意义吗?如果你有更好的逻辑,请教我.

  1. 使用'parent'参数

    • 这些实体之间需要进行交易操作
    • 这些实体之间需要双向引用
    • 强烈打算"亲子关系"
  2. 使用'重复'结构化属性

    • 不需要单独使用'many'实体(始终与'one'实体一起使用)
    • 'many'实体仅由'one'实体引用
    • '重复'的数量小于100
  3. 使用'重复'键属性

    • 需要单独使用'many'实体
    • "许多"实体可以由其他实体引用
    • '重复'的数量超过100

No.2增加了实体的大小,但我们可以保存数据存储区操作.(我们需要使用投影查询来减少反序列化的CPU时间).因此,我尽可能地使用这种方式.

我非常感谢你的意见.

python google-app-engine app-engine-ndb

10
推荐指数
2
解决办法
1378
查看次数

如何从GAE Python的开发服务器(dev_appserver.py)提供电影文件?

我想在GAE python开发环境中使用mp4/video(使用dev_appserver.py),但到目前为止我无法在浏览器上播放它.

由于"Broken Pipe"错误发生在开发服务器上,并且我能够在生产环境(在谷歌的服务器上)上播放,因此问题可能是由浏览器的并行请求引起的.(如果我的理解是正确的,dev_appserver.py是单线程的,无法处理并行请求.)

我尝试过Chrome的"--disable-preconnect"选项,但它没有解决问题.

它有什么变通方法吗?非常感谢您的建议.

编辑:电影文件存储为静态资源,我试图直接访问它(没有使用视频标签).

[版本信息]

  • 操作系统:Ubuntu 12.04 LTE
  • 浏览器:Chrome 19.0.1084.46,Firefox 12.0
  • GAE:Python - 1.6.5,
  • Python:2.7.3

[错误日志]

    INFO     2012-05-21 07:35:04,575 dev_appserver.py:2891] "GET /static/test.mp4 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 36240)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/chikashi/Development/google_appengine/google/appengine/tools/dev_appserver.py", line 2579, in __init__
    BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine

5
推荐指数
1
解决办法
459
查看次数

标签 统计

google-app-engine ×2

python ×2

app-engine-ndb ×1