Pet*_*oip 4 google-app-engine model
我正在谷歌应用程序引擎中编写一个db.Model类,看起来像这样:
class Cheese(db.Model):
name = db.StringProperty()
def say_cheese(self):
return name + "cheese"
Run Code Online (Sandbox Code Playgroud)
出于某种原因,每当我跑:
cheese = Cheese(name = "smelly")
print thing.say_cheese()
Run Code Online (Sandbox Code Playgroud)
我得到一个KindError - 没有实现类型'奶酪'.我想说:"臭奶酪"
难道我做错了什么?我不允许向db.Model对象添加方法吗?
Dav*_*ill 10
听起来thing
实际上是从一个db.ReferenceProperty()
字段(在非Cheese
实体上)加载,恰好是指一个Cheese
实体.如果您在未先导入Cheese
模型的情况下访问此类属性,则代码将无法找到Cheese
构造实体的类型,并且将因您指示的错误而失败.
无论如何,尝试Cheese
在导致错误的代码中导入模型.然后代码应该能够Cheese
在需要时找到实现.
要回答问题的其他部分:是的,您当然可以将自己的方法添加到db.Model
子类中.
归档时间: |
|
查看次数: |
2690 次 |
最近记录: |