I have a simple serializer
class Serializer(serializers.Serializer):
name = serializers.CharField(required=False, default='someName')
id = serializers.IntegerField(required=False, default=random.randrange(100, 200))
And when I create multiple instances of the serializer it always returns the same field
a = Serializer(data={})
a.is_valid(data={})
data = a.data
data['id'] // return for example 150
b = Serializer(data={})
b.is_valid(data={})
b_data = b.data
b_data['id'] // return also 150
Why it happens? How to get rid of this?
You should define your default
like this instead:
default=lambda: random.randrange(100, 200)