Размещение данных о дате в модели Django

Мне интересно, знает ли кто-нибудь из вас, ребята, как исправить эту ошибку, я разбирался с ней в течение нескольких часов, она связана с постингом json-даты (дата из html-выбирателя даты) в бэкенд-модель с использованием веб-фреймворка django. Пожалуйста, дайте мне знать, если мой вопрос непонятен.

ViewOrders.html

    <form id="form"> 
    <label for="start">Drop Off Date Selector:</label>
    <br>
    <input type="date" id="dropOffDate" name="drop_Off_Date"
        min="2022-01-01" max="3000-12-31">
        <button type="submit" value="Continue" class="btn btn-outline-danger" id="submit-drop-off-date" >Submit Drop Off Date</button>
    </form>

<script type="text/javascript">
        var form = document.getElementById('form')

        form.addEventListener('submit', function(e){
            e.preventDefault()
            submitDropOffData()
            console.log("Drop Off Date submitted...")
        })

        function submitDropOffData() {
            var dropOffDateInformation = {
                'dropOffDate':null,
            }

            dropOffDateInformation.dropOffDate = form.drop_Off_Date.value

            var url = "/process_drop_off_date/"
            fetch(url, {
                method:'POST',
                headers:{
                    'Content-Type':'application/json',
                    'X-CSRFToken':csrftoken,
                }, 
                body:JSON.stringify({'drop-off-date':dropOffDateInformation}),
                
            })
        .then((response) => response.json())
            .then((data) => {
                        console.log('Drop off date has been submitted...')
                        alert('Drop off date submitted');
                        window.location.href = "{% url 'home' %}"
                })
        }
</script> 

Views.py

def processDropOffDate(request):
    data = json.loads(request.body)

    DropOffDate.objects.create(
        DropOffDate=data['drop-off-date']['dropOffDate'],
    )

    return JsonResponse('Drop off date submitted...', safe=False) 

Models.py

class DropOffDate(models.Model):
    dropOffDate = models.CharField(max_length=150, null=True)

    def __str__(self):
        return str(self.dropOffDate)

Ошибки

Исправление заключалось в том, что я создал объект с неправильным именем поля, поэтому Json-ответ был недействительным.

class DropOffDate(models.Model):
    dropOffDate = models.CharField(max_length=150, null=True)

    def __str__(self):
        return str(self.dropOffDate)

Изменено на:

class DropOffDate(models.Model):
    DropOffDate = models.CharField(max_length=150, null=True)

    def __str__(self):
        return str(self.DropOffDate)
Вернуться на верх