Writing Model on GAEO

大概只有像我這樣的 Python 超新手才會有這個問題 XD

在 GAEO 中建立 Model 的流程如下:

  1. application 資料夾中新增一個 model 資料夾
  2. model 資料夾中新增兩個檔案 __init__.pymy_model.py
  3. __init__.py 保持空白就可以,在 my_model.py 中則可以寫你要的 Model,舉例如下:

    from google.appengine.ext import db
    from gaeo.model import BaseModel
    # 本範例中沒用到 BaseModel 新增的功能,所以也可刪去這行
    
    class User(BaseModel): # 如果不用 BaseModel,就必須改為繼承 db.Model
      user = db.UserProperty(required=True)
      nickname = db.StringProperty(required=True)
      email = db.EmailProperty(required=True)
    
  4. 接下來重點來了!在 my_controller.py 中要怎麼引用這個 Model 呢?

    from model import my_model
    

順便筆記一下遍歷的方法

users = my_model.User.all()
# 我覺得既然用了 DataStore (BigTable),就不要再用 GQL 作查詢
# 實際上這種寫法也比較容易閱讀
for user in users:
  print user.nickname
Leave your thoughts
  • You can use some HTML in your comment.
  • Your comment may not display immediately due to spam filtering. Please wait for moderation.