Как в django rest framework при put запросе оставить старое значение тех полей которые пустые

Допустим у меня есть serializer и он возвращает

    {
    "id": 1,
    "lang": "ru",
    "icon": "http://127.0.0.1:8000/media/configs/1.png",
    "text": "Тест",
    "index": 0,
    "position": "left"
}

Когда я делаю панель для редактирование этих данных то то некоторые поля могут остаться не тронутыми такие как icon или position что сделать чтобы django не возвращал ошибку 400, а чтобы он вместо это оставил старое значение этого файла или текста и кстати icon это файл

models.py

class services(models.Model):
lang = models.CharField(max_length=2, default='ru')
icon = models.ImageField(upload_to='configs/')
text = models.CharField(max_length=95)
index = models.IntegerField(default=0)
position = models.CharField(max_length=20, default='left')

def __str__(self):
    return self.text

Serializers.py

class servicesSerializer(serializers.ModelSerializer):
class Meta:
    model = services
    fields = ('__all__')

Views.py

class servicesviewset(viewsets.ModelViewSet):
permission_classes = (
    permissions.IsAdminUser,
)
queryset = services.objects.all()
serializer_class = servicesSerializer

def get_queryset(self):
    return self.queryset.order_by("-id")
Вернуться на верх