BaseSerializer.__init__() получил несколько значений для аргумента 'instance'

Я новичок в Django, поэтому я использовал сериализатор для CRUD операций, но появилась эта ошибка

вот моя функция:

def updateemp(request,id):
    Updateemp = EmpModel.objects.get(id=id)
    form = CRUDSerializer (request.POST,instance=Updateemp)
    if form.is_valid():
        form.save()
        messages.success(request,'Record Updated Successfully...!:)')
        return render(request,'Edit.html',{"EmpModel":Updateemp})

может кто-нибудь подсказать мне решение?

Если вы решили сериализовать экземпляр, вам не нужно помещать ключевое слово "instance" в сериализатор.

Updateemp = EmpModel.objects.get(id=id)
form = CRUDSerializer(Updateemp)

Btw, EmpModel.objects.get(id=id) может не вернуть ни одного объекта, что может привести к ошибке сериализатора. Рассмотрите возможность использования get_object_or_404 или try catch для предотвращения этой ошибки.

Вернуться на верх