2012/05/26

[GoogleAppEngine]datastoreにputを使うときの注意点

プロパティーに登録必須かどうかを設定できる

required=True
という引数があるのだが、これをTrueに設定した場合、ちょっと注意することがあります。

それは、Falseの場合だと

class Hoge(db.Model):
bar = db.StringProperty(required=False)


hoge = Hoge()
hoge.bar = "this is ok"
この場合は、正常終了するのだが、Trueだとエラーになる。

なので、エラーを回避するには、

class Hoge(db.Model):
bar = db.StringProperty(required=True)


hoge = Hoge(
bar = "this is ok"
)
というように、インスタンス変数を宣言するときに、引数に設定する必要があります。

危険な落とし穴でした。

0 コメント:

コメントを投稿