Как в 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")