'UserProfile' object has no attribute 'code'
来源:7-11 user serializer和validator验证-1

慕UI825459
2018-05-31
我用1.11版本的django,写完注册接口后,报这个错,发现是:
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
这个serializer.data里面判断了serializer里面字段是否在对应的mode存在,老师该怎么解决啊?
另外:我serializer里面code是删除了的,注册信息数据库也保存成功了
def validate(self, attrs):
attrs["mobile"] = attrs["username"]
del attrs["code"]
return attrs
完整错误:
Request Method:
POST
Request URL:
http://127.0.0.1:8000/regist/
Django Version:
1.11.7
Exception Type:
AttributeError
Exception Value:
Got AttributeError when attempting to get a value for field `code` on serializer `UserRegSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `UserProfile` instance.
Original exception text was: 'UserProfile' object has no attribute 'code'.
Exception Location:
/usr/local/var/pyenv/versions/3.6.3/lib/python3.6/site-packages/rest_framework/fields.py in get_attribute, line 460
1回答
-
慕UI825459
提问者
2018-05-31
def validate(self, attrs):
attrs["mobile"] = attrs["username"]
del attrs["code"]
self.fields.pop('code')
return attrs自己解决了!
012018-06-01
Python前后端分离开发Vue+Django REST framework实战
2897 学习 · 2481 问题
相似问题