halo我在使用django restframework使用OneToOnfield扩展用户模型时遇到问题,下面是我的代码和错误消息,我收到一个TypeError:_create_user()得到一个意外的关键字参数'school_name' 当我尝试创建用户时,请选择shool
####配置文件序列化程序
class schoolProfileSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(source='pk', read_only=True)
parser_classes = (MultiPartParser, FormParser, )
email = serializers.CharField(source='user.email', read_only=True)
username = serializers.CharField(source='user.username', read_only=True)
badge = Base64Imagefield(max_length=None, use_url=True)
date_established = serializers.DateField(format=None,input_formats=None)
class Meta:
model = Profile
fields = ( 'email', 'id', 'username', 'school_name',
'address', 'badge', 'gender', 'level', 'motto')
def create(self, validated_data):
if 'profile' in validated_data:
user_data = validated_data.pop('profile')
user = CustomUser.objects._create_user(**validated_data)
Profile.objects.update_or_create(user=user, **validated_data)
return user
####纵断面图
class CreateProfileView(generics.CreateAPIView):
parser_classes = (MultiPartParser,)
serializer_class = schoolProfileSerializer
queryset = Profile.objects.all()
permission_classes = [permissions.AllowAny]
class Profile(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
school_name = models.CharField(max_length=255)
address = models.TextField()
school_phone_number = models.CharField(max_length=25)
school_email = models.EmailField()
motto = models.CharField(max_length=255)
@receiver(post_save, sender=CustomUser)
def create_school_profile(sender, instance=None, created=False, **kwargs):
if created:
Profile.objects.get_or_create(user=instance)
错误消息
Traceback (most recent call last):
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/django/core/handlers/base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/generics.py", line 190, in post
return self.create(request, *args, **kwargs)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/mixins.py", line 19, in create
self.perform_create(serializer)
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/mixins.py", line 24, in perform_create
serializer.save()
File "/home/olaneat/Desktop/myFiles/project/django/api/lib/python3.8/site-packages/rest_framework/serializers.py", line 205, in save
self.instance = self.create(validated_data)
File "/home/olaneat/Desktop/myFiles/project/django/api/schMartket/schProfile/serializers.py", line 60, in create
user = CustomUser.objects._create_user(**validated_data)
TypeError: _create_user() got an unexpected keyword argument 'school_name'
[25/Mar/2021 13:29:50] "POST /school-profile/create HTTP/1.1" 500 124756
kinda confused but what am i doing wrongly can anyone help out
目前没有回答
相关问题 更多 >
编程相关推荐