Django rest serializer数据存在时中断

时间:2014-07-24 19:30:14

标签: django serialization django-rest-framework django-users

我有这个型号:

class MyModel(User):
    #others fields

和这个序列化器:

class MySerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = ('username', 'password', 'some_field')

我从ajax获取数据进行登录,我按照这样处理:

serializer = MySerializer(data=request.DATA)
print(serializer.is_valid())

问题:当我发送任何数据时,我的序列化程序可以正常工作,但当username field(必须是唯一的User model描述)与数据库中的一个匹配时,序列化变为无效,因此serializer.is_valid()返回错误

为什么呢?我不能创建一个序列化对象,其数据必须是唯一的并且已经存在于数据库中?

1 个答案:

答案 0 :(得分:3)

因为您正在使用ModelSerializer自动为序列化程序生成验证器。您应该使用普通的Serializer课程。

Validation in REST framework