0

개체를 GAE의 데이터 저장소에 저장하려고합니다.GAE ndb put() 인수 오류

Traceback (most recent call last): 
    File "/Users/Soderstrom/google-cloud-sdk/.install/.backup/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 267, in Handle 
    result = handler(dict(self._environ), self._StartResponse) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ 
    return self.wsgi_app(environ, start_response) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app 
    response = self.make_response(self.handle_exception(e)) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app 
    response = self.full_dispatch_request() 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "/Users/Soderstrom/PycharmProjects/MyApp/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "/Users/Soderstrom/PycharmProjects/MyApp/main.py", line 559, in backends 
    db.save(v.getFastigheter(), '1') 
TypeError: put() takes exactly 1 argument (2 given) 

이 엔티티 작성자에게 전달 된 인수의 실제 양의 독립적 인 :이 일을 할 때 나는 오류를 얻고있다. 당신이 entity = cls(val=val_t, key_name=key_t)을 의미하지

class ndbc(ndb.Model): 
    val = ndb.PickleProperty(compressed=True, indexed=False) 
    key_name = ndb.PickleProperty(indexed=True) 

    @classmethod 
    def set(cls, key_t, val_t): 
     entity = cls(val=val, key_name=key) 

     entity.put() 
     return val_t 


    def save(obj, name): 
    return ndbc.set(name, obj) 
+0

사용중인 실제 코드입니까? valent 대신 val을 참조하는 Set 메서드에 버그가있어서 NameError가 있어야하므로 다른 변경도있을 수 있습니다. –

+0

표시된 코드와 스택 추적이 정확히 일치하는지 확인하십시오. 들여 쓰기가 잘못되었습니다. 나는 당신이 모듈 이름을'db'로 선택하는 것이 좋지 않을 것이라고 생각합니다, appengine에서'db' 모듈로 인해 많은 혼란을 야기 할 수 있기 때문입니다. –

답변