Django ValueError: invalid literal for int() with base 10: 'xxx'解决办法

File "D:\workspace\mall\venv\lib\site-packages\django\db\models\fields\__init__.py", line 972, in get_prep_value
return int(value)
ValueError: invalid literal for int() with base 10: 'xxx'

 

视图层拦截:

def get(self,request,*args,**kwargs):
try:

if kwargs.get('id') and int(kwargs.get("id")):
pass
except ValueError as e:
return CommonResponse(data=None,code=200,msg=str(e))
if kwargs.get("id"):
inst = PickleModel.objects.filter(pid=kwargs.get("id")).first()
if inst:
ser = SerPickle(instance=inst, many=False)
return APIResponse(data=ser.data, status=200,code=0)
else:
return APIResponse(data={"msg": "not found", "data": []}, status=404)
else:
inst = PickleModel.objects.all()
ser = SerPickle(instance=inst, many=True)
return CommonResponse(data=ser.data, status=200, code=200, msg='success')

  

posted @ 2020-11-26 20:01  不带R的墨菲特  阅读(712)  评论(0编辑  收藏  举报