【发布时间】:2012-06-30 17:54:35
【问题描述】:
相同的代码,在生产中不能在开发中工作。
型号:
class Comput(ndb.Model):
@staticmethod
def membership(user):
q = ndb.gql("SELECT * FROM Members WHERE member = :1", user)
result = q.fetch()
return [m.comput.get() for m in result]
#return [m.comput.get() for m in q] #same issue (dev yes, prod no)
class Members(ndb.Model):
comput = ndb.KeyProperty(kind=Comput)
member = ndb.UserProperty()
处理程序:
comput_list = Comput.membership(users.get_current_user())
模板:
{% for comput in comput_list %}
<tr onclick="location.href='/comput?id={$ comput.key.id() $}'">
回溯(仅在生产中):
UndefinedError: 'None' has no attribute 'key'
即使comput_list 有实体也会出现。
更新:没有为会员自动生成索引,我尝试手动添加但没有任何变化
【问题讨论】:
-
只是为了确定:哪个代码行会引发错误?您在生产中的表中有数据吗?
-
该行是
<tr onclick...。我确定数据在表格中。 -
似乎 comput_list 返回
None。无论如何,我希望空模板,没有错误 -
是的,这是我的猜测,也是我询问生产数据的原因。
标签: google-app-engine python-2.7 jinja2 app-engine-ndb