我试图获取数据存储区中的所有实体,然后使用HTML显示它们。我试图从RequestHandler
内部执行此操作,但我收到错误消息
"AttributeError: type object 'Student' has no attribute 'all'"
这是我的Student
班级
class Student(ndb.Model):
banner_id = ndb.IntegerProperty(required=True)
name=ndb.StringProperty()
score=ndb.IntegerProperty()
这是RequestHandler
代码:
class MainHandler(webapp2.RequestHandler):
def get(self):
# Create a HTML table
table = "<html><head><title>Students Server</title></head><body><table><th>name</th><td>score</th>"
# Now get a list of all students
sqry = Student.all()
sqry.order('name')
# Use the data collected so far to create a table row and add
# it to the table
table += Student.toTableRow(score)
# Complete the table
table += "</table>"
self.response.write(table)
self.response.write(studentRegistrationPage)
我试图检索所有学生并根据名称订购列表。从here得到了这个想法,其中给出了这样的例子。
# Order alphabetically by last name:
q = Person.all()
q.order('last_name')
# Order by height, tallest to shortest:
q = Person.all()
q.order('-height')
我做错了什么?
答案 0 :(得分:2)
您正在尝试执行db
查询,但使用的是ndb
。
阅读文档https://developers.google.com/appengine/docs/python/ndb/queries。另请查看db / ndb备忘单https://docs.google.com/document/d/1AefylbadN456_Z7BZOpZEXDq8cR8LYu7QgI7bt5V0Iw/mobilebasic?pli=1
使用ndb
,查询将为Person.query()