Andres
Andres

Reputation: 4501

Django rest serializer Breaks when data exists

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?

Upvotes: 4

Views: 4598

Answers (1)

Abdullah Alharbi
Abdullah Alharbi

Reputation: 331

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

Validation in REST framework

Upvotes: 4

Related Questions