'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

自己解决了!

0
1
bobby
好的,
2018-06-01
共1条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2897 学习 · 2481 问题

查看课程