Django: Ошибки при переключении DateTimeField в DateField
Я работаю над проектом с Django.
Я использовал DateTimeField(), когда впервые создал некоторую Модель. Я также создал сотни экземпляров. Затем я решил, что DateField подходит больше, и изменил его.
когда я migrate
, он был перенесен хорошо без каких-либо предупреждающих сообщений.
Но когда я пытаюсь получить доступ к оригинальным экземплярам, сделанным с помощью DateTimeField
, я получаю следующую ошибку.
invalid literal for int() with base 10: b'13 00:00:00'
Ошибка, по-видимому, возникла из-за того, что данные поля datetime остаются, несмотря на изменение формата.
Но я не знаю, как решить эту проблему, поскольку я получаю эту ошибку даже при попытке удалить существующие экземпляры.
Мне также интересно, почему появляется эта ошибка.
Перейдите в оболочку python manage.py. С помощью цикла for измените время даты каждого объекта на дату:
for x in MyModel.objects.all():
x.date = x.date.date()
x.save()
или если это не работает, и поле является nullable, то:
for x in MyModel.objects.all():
x.date = None
x.save()