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 次 |
| 最近记录: |