Django REST Framework substituting 'null' for 0 in IntegerField -


i have model in django integerfield:

class mymodel(models.model):     number = models.integerfield(default=0) 

i use django rest framework's model serializer:

class myserializer(serializers.modelserializer):     class meta:         model = mymodel 

the json created rest framework is:

{     "number": null } 

the problem fails validation if post received. change in order have received json object use 0 instead of null object?

as mark galloway commented, null appear if have null data in database. can solve either changing validation login in serializer:

class myserializer(serializers.modelserializer):     number = models.integerfield(initial=0, allow_null=true)     class meta:         model = mymodel 

or changing how data serialized user:

class myintegerfield(serializers.integerfield):     def to_representation(self, value):         if value none:             return 0         return super(myintegerfield, self).to_representation(value)  class myserializer(serializers.modelserializer):     number = myintegerfield(initial=0)     class meta:         model = mymodel 

Comments