python - 创建 Google App Engine 数据存储区实体而不初始化特定属性

标签 python google-app-engine app-engine-ndb

我有一个 Class 实体,它具有属性 namestudents。我想首先创建该实体,然后添加之后将值添加到学生属性中。但我不知道如何执行此操作。我尝试过 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时收到的错误消息 enter image description here

最佳答案

对 @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/

相关文章:

google-app-engine - 如何在 Objectify 中取消索引列表?

python - Appengine 上的 file.read() 返回垃圾字符

python - 带有 Django 的 matplotlib 在 print_figure 上失败,抛出 [Errno 2] 没有这样的文件或目录

python - 何时使用 subprocess.call() 或 subprocess.Popen(),运行 airodump

python - 将一个数据框中的零值列替换为另一个数据框中同名列的平均值

python - 从ndb python通过urlsafe key查询记录

python - 在 App Engine Python 中设置读取策略

python - 自定义 Python 扩展 - 导入错误 : undefined symbol

python - 类型错误:__init__() 得到了意外的关键字参数

python - 如何获得 10 个随机 GAE ndb 实体?