Django Tempus Dominus TimePicker не возвращает экземпляр времени при обновлении объекта - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть модель, форма и пара представлений, чтобы добавить новый объект и обновить объект. Отправка формы при добавлении работает отлично, и когда я пытаюсь обновить объект (используя экземпляр и ту же форму), отображается правильный ввод для даты, но время не показывает ввод, и я вижу предупреждения в консоли об этом, может кто-нибудь помочья понимаю это? Я чувствую, что перепробовал все, это мой первый опыт выбора даты и времени. Я упростил то, что имею в виду ниже.

model.py:

from django.db import models

class MyModel(models.Model):
        date = models.DateField()
        time = models.TimeField()

forms.py:

from django import forms
from .models import MyModel
from tempus_dominus.widgets import DatePicker, TimePicker

class MyModelForm(forms.ModelForm):
        date = forms.DateField(label="Start date", input_formats=['%d/%m/%Y'], widget=DatePicker(options={'format': 'DD/MM/YYYY', }, attrs={'autocomplete': 'off'}))
        time = forms.TimeField(label="Time (24 hour)",input_formats=['%H:%M'], widget=TimePicker(options={'format': 'HH:mm'}, attrs={'autocomplete': 'off'}))

        class Meta:
            model = MyModel
            fields = ('date', 'time')

views.py

def create_object_view(request):
    """View that creates a model entry"""
    if request.method == 'POST':
        object_form = MyModelForm(request.POST)
        if object_form.is_valid():
            object_form.save()
            return redirect('wherever')
    else:
        object_form = MyModelForm()

    return render(request, 'create_object.html', {'object_form': object_form})

def update_object_view(request, object_id):
    """View that updates instance of model entry"""
    object = get_object_or_404(MyModel, pk=object_id)
    if request.method == 'POST':
        update_object_form = MyModelForm(request.POST, instance = object)
        if update_object_form.is_valid():
            update_lesson_form.save()
            return redirect('wherever')
    else:
        update_object_form = MyModelForm(instance = object)

    return render(request, 'update_object_detail.html', {'update_object_form': update_object_form})

Вот предупреждения, которые я вижу:

moment.min.js:1 Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments: 
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: en, _i: T17:30:00, _f: null, _strict: false, _locale: [object Object]
Error
    at Function.createFromInputFallback (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:3368)
    at Yt (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:21353)
    at Ot (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:22064)
    at Tt (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:22146)
    at c (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:209)
    at k.r.getMoment (https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.min.js:6:14482)
    at k.r._parseInputDate (https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.min.js:6:12293)
    at k.r.date (https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.min.js:6:15573)
    at String.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.min.js:6:15189)
    at Function.each (https://code.jquery.com/jquery-3.3.1.min.js:2:2623)

Я действительно близок к тому, чтобы заставить это работать, мне просто нужно пройти через эту часть! Если у кого-то есть хороший опыт использования этого API, я буду очень признателен за отзыв!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...