Django on Google App Engine-サンプルコード django_example(4)Model層
django_expamleではModel-View-TemplateのModelとViewはview.pyに実装しています。
ちなみにTemplateはtemplatesフォルダ内のファイルに実装しています。
今回はModel層についてです。
まず、Modelのソースです。
class Gift(db.Model):
name = db.StringProperty(required=True)
giver = db.UserProperty()
recipient = db.StringProperty(required=True)description = db.TextProperty()
url = db.URLProperty()
created = db.DateTimeProperty(auto_now_add=True)
modified = db.DateTimeProperty(auto_now=True)
データを格納するためのGiftクラスは、db.Modelクラスを継承しています。
そして保持する各項目の名前、初期値や属性を定義しています。
次にModelのよりフォームを生成するためのGiftFormクラスです。
class GiftForm(djangoforms.ModelForm):
class Meta:
model = Gift
exclude = ['giver', 'created', 'modified']
Modelよりフォームを生成するためのModelFormヘルパークラスを継承しています。
またGiftFormクラスのMeta内部クラスで、execute属性を使用して
フォームに表示しないフィールドを指定しています。