Django rest serializer Breaks when data exists

2019-07-03 14:56发布

I have this model:

class MyModel(User):
    #others fields

and this serializer:

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

I get data from ajax to make a login and I handle it like this:

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

The problem: When I send any data my serializer works but when my username field, which must be unique as User model describe, matches with one at the database the serialize become invalid, so serializer.is_valid() return False

Why? can not I create a serialize object with data which must be unique and already exists in the database?

1条回答
祖国的老花朵
2楼-- · 2019-07-03 15:37

Because you are using ModelSerializer which automatically generates validators for your serializer. You should use normal Serializer class instead.

Validation in REST framework

查看更多
登录 后发表回答