我有一个 Class
实体,它具有属性 name
和 students
。我想首先创建该实体,然后添加之后将值添加到学生属性中。但我不知道如何执行此操作。我尝试过 null
(请原谅我,如果这是令人厌恶的,我是 Python 新手),但它返回一条错误消息。这是我的 Class
定义
class Class(ndb.Model):
name = ndb.StringProperty(required=True)
students = ndb.KeyProperty(repeated=True)
...
以及我的类模型的处理程序
class ClassHandler(webapp2.RequestHandler):
def post(self):
name=self.request.get('class_name')
callback = self.request.get('callback')
class = class.get_by_id(name)
if class:
self.error(409)
else:
n = self.request.get('class_name')
class=Class(id=n, class_name=n, members) #<<<---//this is where am stuck
team.put()
if callback:
self.response.write(callback + '(' + team.toJSON() + ')')
else:
self.response.write(team.toJSON())
过去几个小时我在 Google 上寻找解决方案。任何有关我需要做什么的建议将不胜感激。
编辑:这是我尝试使用null
时收到的错误消息
最佳答案
对 @akgill 所说的一切都给予大力 +1。
对于您的具体问题,您不需要在实体实例化时提供任何属性,或者您可以提供部分或全部属性。
当您谈论“null”或“None”时,我不确定您指的是什么。
任何添加学生的方法都需要在构造函数调用中提供学生列表,或使用追加
cls = Class()
cls.students.extend([list of student keys])x
关于python - 创建 Google App Engine 数据存储区实体而不初始化特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23207823/