Как узнать пустые и непустые поля после отправки формы django ajax?

У меня есть модель формы, которая позволяет вводить некоторые необязательные поля. Я застрял на том, чтобы найти способ, который позволит мне точно знать, какое поле пришло с данными, а какое нет, чтобы при создании экземпляра модели не пропустить введенные пользователем данные. Сначала я думал о сериализации формы с помощью serializeArray, затем получить непустое значение и добавить его в form.serialize(), но это не позволяет форме быть валидной. Вот смотрите вопрос.

Есть ли способ узнать это, даже если это происходит до обработки ajax или в самом django view? Заранее спасибо. Код:

function CreateIssueAjax(e) {
e.preventDefault();
const role = this.getAttribute('role');
const _form = $("#CreateIssueForm");
var formString = _form.serializeArray();
console.log(formString)
function sendKwargs(arr) {
    let kwargs = {}
    arr.forEach(el => {
        if (!(el.value === "") | (!(el.name === 'csrfmiddlewaretoken'))) {
            kwargs[el.name] = el.value
        }
    });
    return kwargs;
}
console.log(sendKwargs(formString));
var myData = _form.serialize();
console.log(myData);
myData['kwargs'] = JSON.stringify(sendKwargs(formString));
$.ajax({
    url: "/create-issue/",
    type: "post",
    data: myData,
    datatype: 'json',
    success: function (data) {
        console.log("success");

        // add to ui function after success
        // alert the user(alertify.js)
    },
});

}

def createIssue(request):
    form = CreateIssueForm(request.POST or None)
    if request.is_ajax() and form.is_valid():
        kwargs = request.POST.get("kwargs")
        print(kwargs)
        # if kwargs if present
        # model.objects.create(**kwargs)

        context = {""}
        return JsonResponse({})
    return render(request, "tracking/base.html")
Вернуться на верх