我使用python在webapp2框架中工作,我有一个父类(Examplestart),它有三个属性:
variable = ndb.KeyProperty(kind=DBUser)
time = ndb.DateTimeProperty(auto_now_add=True)
statement = ndb.StringProperty(indexed=False)
示例有两个子类(Example1& Example2),我想在Examplestart中硬编码属性,以便:
my_example = DBExamplestart(
variable = '776',
statement = ['First']
)
my_example.put()
我应该在我的文件中插入此代码?如果我在Examplestart中使用它,代码就不起作用了。 my_example与类Example1相关。
答案 0 :(得分:1)
您可以在子实体中设置默认值:
class DBExamplestart(Examplestart):
variable = ndb.KeyProperty(kind=DBUser, default=ndb.Key(DBUser, 776))
statement = ndb.StringProperty(indexed=False, default='First')
如果您有更复杂的事情要做(例如检索特定的ID,而不是776),您可以查看Model Hooks。 例如,_pre_put_hook()将允许您在持久化之前对您的实体执行任何操作。