Google App Engineのモデルにスキーマバージョンの属性を付与する

Slim3ではモデルにSchemaVersionという属性が自動的に付与されるらしい。

モデルのスキーマが変更したときに、SchemaVersionの値をみて、古いスキーマのレコードを新しいスキーマに更新するために使用するためのものらしい。

いつか役に立つことがあるかもしれないので、スキーマバージョンを記録する属性を付与することにした。

class MyModel(db.Model):
    schemaversion = db.IntegerProperty(default=1)

ModelFormを使用している場合は、schemaversionを表示しないようにexclude属性で指定する。

class MyForm(ModelForm):
    class Meta:
        model = models.MyModel
        exclude = ('schemaversion')

スキーマバージョンの有用性が認められたら、モデルやフォームに一つ一つschemaversion属性を設定しなくてもすむように工夫したい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください