在GAE上动态创建数据库模型

标签:Google App Engine, Python

今天在GAE论坛看到一个奇怪的问题,他说他的网站要允许用户创建任意类型的模型,可以包含任意类型的属性,问怎么实现。
例如用户需要临时创建一个Book类,这个类有title、author和rating这3个参数,但程序事先是不知道的。

GAE上启用Gzip压缩

标签:Google App Engine, Python

今天在测试WSGI框架时发现输出头中没有Content-Encoding: gzip,即内容不是gzip压缩的。

接着我输出了这个头,发现本地开发服务器上并没效果:

GAE部署时遇到GFW的解决办法

标签:GFW, Google App Engine

今天中午有人在邮件里问了我一个问题,说是上传失败,并贴出了记录。
因为出错是在urllib2.py里,一般是网络故障。如果本机网络正常的话,那就是GFW的问题了,于是我想到了使用代理。

在GAE中使用hook

标签:Google App Engine, Python

实际上Google App Engine文章中早就有一篇《在 Google App Engine 中使用 hook》来介绍hook技术了,只是当时对我没用,加上写得很难懂,所以没去细读。
而最近在考虑做blog,想像Discuz!一样做个性能评估,将页面生成时间、数据库访问次数等输出出来。
要实现这个功能的话,一般是需要自己封装一下数据库调用函数,在每次调用时记录下时间和增加调用次数,不过这样改动太大,所以就想到了hook,于是再次读了一遍。

更新一下对GAE数据库的了解

标签:Google App Engine

从接触Google App Engine至今已有10个月了,随着版本的更新,datastore也在不断改善,支持了不少新的特性,所以我重新学习了一遍,并补上一些以前遗漏的知识。
当然,基于的是Python环境,毕竟使用和测试都较Java而言更为方便。

GAE数据库对时间属性的精确查询

标签:Google App Engine, Python

考虑一个聊天室的消息模型,一般会有如下属性
class Message(db.Model):
  author = db.UserProperty(auto_current_user_add=True)
  content = db.StringProperty(multiline=True)
  time = db.DateTimeProperty(auto_now_add=True)
为了省事,我不想去维护一个ID字段,只想对time字段排序,并查询出比最近一次查询结果的时间更晚的消息。

« 看看还有什么好玩意