如何解决pickledb 将列表附加到 python
对于课程站点(使用flask 创建),我创建了一个json 数据库,我正在使用main.py
中的pickleDB 访问该数据库。
这是我的 course.json 的样子:
{
"Course A":
{"Student1":
{
"grade":"","distribution":"","timezone":"","rank":"",},"Student2":
{
"grade":"",}
},"Course B":
{"Student1":
{
"grade":"",}
}
}
我已经添加了所有必要的导入并设置得很好。 现在,从一个表单中,我请求了数据(对于一个新学生),我想将它添加到课程 A,我已经使用了 pickleDB 的附加功能,如下所示:
course.append(courseName,{username:
{
"grade":userGrade,"distribution":userdistribution,"timezone":userTimezone,"rank":userRank,}
}
)
[2021-06-17 08:59:08,203] ERROR in app: Exception on /admin/assign [POST]
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py",line 2447,in wsgi_app
response = self.full_dispatch_request()
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py",line 1952,in full_dispatch_request
rv = self.handle_user_exception(e)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py",line 1821,in handle_user_exception
reraise(exc_type,exc_value,tb)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/_compat.py",line 39,in reraise
raise value
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py",line 1950,in full_dispatch_request
rv = self.dispatch_request()
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py",line 1936,in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "main.py",line 398,in courseAdd
course.append(courseName,File "/opt/virtualenvs/python3/lib/python3.8/site-packages/pickledb.py",line 151,in append
self.db[key] = tmp + more
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
我不知道为什么会出现错误,我也参考了 pickleDB 文档:https://patx.github.io/pickledb/commands.html
/凹凸
解决方法
尝试使用
a = dict(list(data1.items()) + list(data2.items()))
print(a)
以数据为pickle db数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。