Python モジュールを使用して RethinkDB を使用していますが、現在、次のステートメントでモデルを更新しようとしています。
results = rethink.table(model + "s").filter(id=results["id"]).update(data).run(g.rdb_conn)
model
この場合quote
、data
JSON データの dict です。
{
"channelId": "paradigmshift3d",
"quoteId": "1",
"quote": "Testing 123",
"userId": "123",
"messageId": "456"
}
RethinkDB API リファレンスによると、私が使用しているステートメントは機能するはずですが、そうではありません。完全なトレースバックは次のとおりです。
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2000, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1991, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1567, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise
raise value
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise
raise value
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1625, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/nate/CactusAPI/views.py", line 309, in chan_quote
fields=fields
File "/home/nate/CactusAPI/helpers.py", line 403, in generate_response
).update(data).run(g.rdb_conn)
File "/usr/local/lib/python3.5/dist-packages/remodel/monkey.py", line 18, in remodel_run
return run(self, c, **global_optargs)
File "/usr/local/lib/python3.5/dist-packages/rethinkdb/ast.py", line 118, in run
return c._start(self, **global_optargs)
File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 620, in _start
return self._instance.run_query(q, global_optargs.get('noreply', False))
File "/usr/local/lib/python3.5/dist-packages/rethinkdb/net.py", line 466, in run_query
raise res.make_error(query)
rethinkdb.errors.ReqlServerCompileError: Expected 2 arguments but found 1 in:
r.table('quotes').filter(id='92c5160a-db57-4c3b-b2b2-2704cdcfc2b7').update(r.expr({'channelId': 'paradigmshift3d', 'quoteId': '1', 'quote': 'Testing 123', 'userId': '123', 'messageId': '456'}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
グーグルで調べてみましたが、この問題に関する質問や問題はないようです。