Десериализуйте для получения экземпляра объекта

Я хочу десериализовать сериализованные данные django rest framework, чтобы получить обратно объект, т.е. сделать что-то вроде Modelname.objects.get(**serialized_data). Однако когда я пытаюсь сделать следующее, я получаю ошибку валидации, потому что drf пытается создать новый экземпляр, а он уже существует. Мне нужно только получить существующий объект. Как я могу это сделать, не прибегая к ручному получению каждого параметра поля из диктанта?

Мой код:

clinic = biovardata['linkedclinic']
print("\n Deserializing clinic..")
print("Clinic:", clinic)
clinicserializer = ClinicSerializer(data=clinic, many=False)
if clinicserializer.is_valid():
    print("Clinic Serializer is valid")
    cl = Clinic(clinicserializer.validated_data)

    print("Clinic is ", clinic)
else:
    print("Clinic Serializer is not valid")
    print(clinicserializer.errors)

Мой вывод:

Deserializing clinic..
Clinic: {'clinicid': 21, 'name': "Clinic name", 'label': 'joelper'}
Clinic Serializer is not valid
{'name': [ErrorDetail(string='clinic with this name already exists.', code='unique')], 'label': [ErrorDetail(string='clinic with this label already exists.', code='unique')]}
Вернуться на верх