Django сохранить строку в поле даты

В моем приложении Django у меня есть DateField (формат "ГГГГ-ММ-ДД"). Когда я пытаюсь сохранить строку "2011-11-01", я не получаю ошибки, но мои поля получают значение NULL.

Я попытался сделать это с помощью функции strptime из библиотек даты и времени, но с той же проблемой. В основном все это происходит в форме

я имею

    если form.valid():
        form.cleaned_data['date'] = year + '-' + month + '-' day
        form.save()
    

2 ответа

Часть проверки формы включает в себя очистку данных. cleaned_data dict содержит объекты Python, а не (строковые) данные поста.

так form.cleaned_data['data'] должен быть datetime объект (или вам нужно отредактировать форму или опубликовать данные перед очисткой)

Я думаю, что вы должны проверить объект модели, который принимает объект даты, и подтвердить, что вы не установили его всегда равным нулю... На самом деле я думаю, что неправильный номер присутствует не в методе view или save, а в объекте модели, который должен возьмите объект даты. Может быть, вы должны рассмотреть возможность размещения кода вашей модели здесь, чтобы мы увидели.

Другие вопросы по тегам