Django - Сравнивайте Queryset с данными JSON для выполнения операций обновления

У меня есть динамическая форма в формате JSON. При добавлении ввода данные JSON имеют больше элементов, чем Queryset. При удалении ввода данные JSON имеют меньше элементов, чем Queryset.

Мой код выглядит следующим образом:

selectedUserForm = UserMeta.objects.filter(user=selectedUser, isDeleted = False)
for form in selectedUserForm:
    if getJson['Id'] == form.id:
        formData = UserMeta.objects.filter(id=form.id).update(metaVal=getJson['Input'].title(), metaKey=getJson['Label']title())
    elif getJson['Id'] == 0:
        formData = UserMeta(user = selectedUser, metaVal=getJson['Input'].title(), metaKey=form.Label.title())
        try:
            formData.full_clean()
            formData.save()
            output.append({'Dynamic Form: Added! ': str(formData)})
        except ValidationError as e:
            output.append({'Error': e})
            return HttpResponse(e)
    elif getJson['Id'] != form.id:
        formData = UserMeta.objects.filter(id=form.id).update(isDeleted = True)

Не работает, потому что нет итерации для переменной JSON, но когда я добавляю счетчик для итерации данных JSON, он выдает ошибку "JSON data out of index", если данные JSON содержат меньше элементов. Также, если в JSON больше данных, итерация не может добраться до этих элементов. Каков правильный подход к выполнению операции обновления?

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