我有一个注册端点,其中POST请求不需要身份验证,因此在创建帐户时也不会向mongodb集合添加AUTH_FIELD。
由于我还需要对此端点进行用户限制的资源访问,我正在尝试使用post事件挂钩添加该字段:
AUTH_FIELD ='user_id'
def adduserid(request, payload):
data = json.loads(payload.get_data().decode('utf-8'))
setid = data['_id']
app.data.driver.db['accounts'].update({"username" : username},{"$set": {"user_id": setid}})
app.on_post_POST_accounts += adduserid
我得到一个KeyError结果:
File "run.py", line 30, in adduserid
setid = data['_id']
KeyError: '_id'
我觉得我正在以错误的方式解析这个有效负载对象,但我不知道出了什么问题。 也许有一种更简单的方法可以做到这一点?
答案 0 :(得分:1)
someMethod(list.toArray(new Integer[list.size()]);
字段不是有效负载的一部分,但如果您使用_id
数据库挂钩,则可以访问它,因为在插入数据库之前,eve会添加on_inserted_<resource_name>
。这里的文档(http://python-eve.org/features.html#database-event-hooks)