根据documentation我必须首先传入密钥,然后我将传递我想要初始化的所有属性,以便保存模型。所有这些都以** kwargs的形式完成。
定义似乎是这样的:
def _get_or_insert(*args, **kwds):
这是我打算使用它的方式,但它引发了异常:
record1, is_created = Record.get_or_insert(record_key, {'record_date' : event1.date_time, 'user' : user.key})
模型定义为:
class Record(ndb.Model):
user = ndb.KeyProperty(kind=User)
record_date = ndb.DateProperty(required=True)
例外:
文件 " /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/ndb/model.py" ;, 第3396行,位于_get_or_insert_async中 cls,name = args#这些必须始终是位置的。 ValueError:要解压缩的值太多
有什么建议吗?
答案 0 :(得分:4)
kwargs应作为键/值对传递。尝试类似:
record1, is_created = Record.get_or_insert(record_key, record_date = event1.date_time, user = user.key)