gpt4 book ai didi

python - 断言错误 : `create()` did not return an object instance

转载 作者:行者123 更新时间:2023-12-02 02:24:45 24 4
gpt4 key购买 nike

我在向 UserRegisterView 发送请求时收到以下错误:

  File "/Users/MichaelAjanaku/Desktop/test/afrocode/lib/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/Users/MichaelAjanaku/Desktop/test/leave/views.py", line 22, in post
serializer.save()
File "/Users/MichaelAjanaku/Desktop/test/afrocode/lib/python3.6/site-packages/rest_framework/serializers.py", line 207, in save
'`create()` did not return an object instance.'
AssertionError: `create()` did not return an object instance.

我不知道为什么会这样。这是我的 views.py:

class UserRegistrationView(CreateAPIView):
serializer_class = UserRegistrationSerializer
permission_classes = (AllowAny,)

def post(self, request):
serializer = self.serializer_class(data= request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
status_code = status.HTTP_201_CREATED
response = {
'success' : 'True',
'status code' : status_code,
'message' : 'User registered successfully'
}

和序列化器:

class UserRegistrationSerializer(serializers.ModelSerializer):

profile = UserSerializer(required=False)
class Meta:
model = User
fields = ('email', 'password','profile' )
extra_kwargs = {'password': {'write_only' : True}}


def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create_user(**validated_data)
UserProfile.objects.create(
user = user,
first_name = profile_data['first_name'],
last_name= profile_data['last_name'],
)

请问是什么原因造成的?谢谢

最佳答案

您的create 方法未返回对象实例。您应该返回 User.objects.create(...) 调用的结果。

def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create_user(**validated_data)
UserProfile.objects.create(
user = user,
first_name = profile_data['first_name'],
last_name= profile_data['last_name'],
)
return user

关于python - 断言错误 : `create()` did not return an object instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65864900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com