0

GAPでは、モデルを作成します。モデルは次のように表示されます。

 class Pet(db.Model):
        name = db.StringProperty(required=True)
        type = db.StringProperty(required=True)
        birthdate = db.DateProperty()
        weight_in_pounds = db.IntegerProperty()
        spayed_or_neutered = db.BooleanProperty()

なぜこれが静的変数として作成されるのですか?

__init__()それらはメソッド内にあり、次のようにクリアされるべきではありませんself.variableか?

4

1 に答える 1

3

Petのインスタンスをインスタンス化する場合、従来はインスタンス化されておらず、メタクラスを使用して作成されます。

メタクラスとは何かについてここを読んでください: Pythonのメタクラスとは何ですか?

そこには「なぜメタクラスを使用するのか」というラベルの付いたセクションがあり、DjangoORMについて簡単に説明しています。db.ModelスキームはDjangoORMとかなり似ているため、説明が適用されます。

于 2012-09-22T15:44:43.337 に答える