Sef*_*efa 9 python django django-rest-framework
以下代码返回一个空的 json。
def create_account(request):
serializer = UserSerializer(data={'name': request.GET.get('name'), 'surname': request.GET.get('surname'),
'password': request.GET.get('password'), 'email': request.GET.get('email')})
if not serializer.is_valid():
return HttpResponse(status=401,content=serializer.errors)
serializer.save()
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
这是我的序列化程序
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('name', 'surname', 'password', 'email')
def create(self, validated_data):
return User.objects.create(**validated_data)
Run Code Online (Sandbox Code Playgroud)
当我发送请求时,serializer.initial_data填写正确。is_valid正在返回True但validated_data为空。
您似乎没有使用自定义用户模型,并且 django.contrib.auth.models.User 没有名称和姓氏字段。但它确实有名字和姓氏。尝试将它们用作序列化器中的字段,因为它们是模型字段。否则,您将必须按照此答案的建议覆盖 to_internal_value 。
无法在 Django Rest Framework 序列化程序的 valid_data 中获取非模型字段
| 归档时间: |
|
| 查看次数: |
5731 次 |
| 最近记录: |