Google应用引擎db模型静态(类)变量

时间:2012-09-22 15:23:29

标签: python google-app-engine google-cloud-datastore gql

在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吗?

1 个答案:

答案 0 :(得分:3)

当你实例化Pet的一个实例时,传统上它没有被实例化,它们是用元类创建的。

在此处阅读元类的内容: What is a metaclass in Python?

其中有一节标有“为什么你会使用元类?”,它简要讨论了Django ORM。 db.Model方案与Django ORM非常相似,因此适用该解释。