Django POST JSON из фронтенда в JSON-поле

для начала то, что я хочу/нужно: когда я нажимаю на кнопку на фронтенде, он регистрирует JSON, который выводит в мою базу данных.

У меня есть функция в моем шаблоне, которая выводит JSON в виде строки при нажатии на мой шаблон.

<script>
const form = document.getElementById("myValue").addEventListener("click", myFunction);

function myFunction() {
    let myValues = {
            "posX": pos.x,
            "posY": pos.y,
            "posZ": pos.z,
            "anAZ": anAZ,
            "anPo": anPo,
        }

    var myJSON = JSON.stringify(myValues)

    console.log(myJSON)
    console.log(typeof(myJSON));
    // Console outputs the values.
    $.ajax({
        type: 'POST',
        data: $('#form').serialize(),
        dataType: 'json',
        success: function(data) {
            if (data.msg === 'Success') {
                alert('Values are Saved')
            }
        }
    })
}

и в файле template.html:

<button id="myValue">Save Values<form id="form" method="post">{% csrf_token %} </button>

на models.py:

class myJSON(models.Model)  
      myValue = models.JSONField(default=dict, null=True)

form.py:

class myValuesForm(ModelForm):
class Meta:
    model = myJSON
    fields = [
        "myValue"
        ]

на views.py

def myVal(request, pk):
    values = myJSON.objects.get(id=pk)
    if request.is_ajax():
        form = myValuesForm(request.POST)
        if form.is_valid():
            form.save
            return JsonResponse({
                'msg': 'Success'
            })

Я не уверен, что не так и почему он не записывает данные. Я не получаю никаких ошибок в терминале. помощь в этом будет очень кстати...

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