Django Rest序列化程序引发了延迟翻译错误

时间:2016-01-29 16:58:54

标签: python django django-rest-framework

以下是我的代码的简化快照。

from django.utils.translation import ugettext_lazy as _
from rest_framework.generics import UpdateAPIView
from rest_framework import status, renderers, serializers

在ShopUser模型中,电子邮件字段定义为:     email = serializers.EmailField(max_length = 254,unique = True)

class MySerializer(serializers.ModelSerializer):
    class Meta:
        model = ShopUser
        fields = ('email',)

class RemoveUser(UpdateAPIView):
    model = ShopUser
    permission_classes = (IsRegisteredShopUser,)
    renderer_classes = (renderers.JSONRenderer,)

    def put(self, request, *args, **kwargs):
        serializer = MySerializer(data=request.data)
        try:
            serializer.is_valid(raise_exception=True)

        except Exception as e:
            log(...)

.isValid()始终引发以下异常。

`{'email': [<django.utils.functional.lazy.<locals>.__proxy__ object at 0x7ff2e0db8ef0>]}`. More error details: `{'email': [<django.utils.functional.lazy.<locals>.__proxy__ object at 0x7ff2e0db8ef0>]}`. ShopUser `ted@ross.com` submitted these data `<QueryDict: {'email': ['test@test.com']}>`

但是如果使用以下序列化程序,一切都运行顺利

class MySerializer(serializers.Serializer):
    email = serializer.EmailField(max_length=254) 

出了什么问题?提前致谢。干杯

0 个答案:

没有答案