相关疑难解决方法(0)

** 之后的 create() 参数必须是映射,而不是 unicode

我正在尝试使用以下序列化程序进行嵌套写入 -

class UserProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserProfile
        fields = ('company', 'is_admin', 'last_modified', 'uuid')

class UserSerializer(serializers.ModelSerializer):
    profile = UserProfileSerializer()
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'profile')

    def create(self, validated_data):
        profile_data = validated_data.pop('profile')
        user = User.objects.create(**validated_data)
        for profile_data in profile_data:
            UserProfile.objects.create(user=user, **profile_data)
        return user
Run Code Online (Sandbox Code Playgroud)

但是在发完一篇文章后,我得到了以下回溯——

Traceback:
File "/opt/enterpass_app/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/enterpass_app/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/opt/enterpass_app/lib/python2.7/site-packages/rest_framework/viewsets.py" in view
  87.             return self.dispatch(request, *args, **kwargs)
File "/opt/enterpass_app/lib/python2.7/site-packages/rest_framework/views.py" in …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1