【发布时间】:2018-08-15 19:19:44
【问题描述】:
我有这个代码:
qcmz = session1.query(func.sum(KCom.c1)).filter(KCom.users_id != current_user.id and KCom.ofv_id == cmz_id).all()
qcmz1 = np.array(qcmz) + 0.
qcmz2 = float(qcmz1[0])
qcmz3 = float("{0:.2g}".format(qcmz2))
并且正在返回此错误:
Traceback (most recent call last):
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/ubuntu/workspace/avb/venv/lib/python3.6/site-packages/flask_login/utils.py", line 228, in decorated_view
return func(*args, **kwargs)
File "/home/ubuntu/workspace/avb/app.py", line 822, in fcmz
qcmz1 = np.array(qcmz) + 0.
TypeError: unsupported operand type(s) for +: 'NoneType' and 'float'
想法是当 db 表被填充时,只有在为空时才返回任何错误,我的意思是当 KCom.c1 通过 ForeignKey 关联到另一个并且为空时返回此问题。
【问题讨论】:
-
KCom.users_id != current_user.id and KCom.ofv_id == cmz_id没有按照您的想法进行操作:stackoverflow.com/questions/42681231/…,但这可能不是您的错误的根源,而是另一个错误。 -
qcmz object dtype 是否包含一个或多个 None 元素?
-
是的,它是带有 None 元素的 qcmz dtype,但我会向您解释 qcmz 它是与订单相关的数量,如果订单还没有,那么当订单为 qcmz 时它的值是 None获得价值,我必须将 None 转换为 0(零)才能不出现此错误
标签: python numpy sqlalchemy