Ошибка Django migrate: аргумент formisoformat должен быть строкой
Мне очень нужна помощь, чтобы понять ошибку, которую я получаю в Django, которая внезапно появилась после того, как я добавил кучу объектов в класс models.Model. Эта ошибка сохраняется, даже когда я закомментировал все новые объекты, которые могли спровоцировать ошибку.
Код, который я модифицировал, выглядит следующим образом :
from django.db import models
# Create your models here.
class Band(models.Model):
class Genre(models.TextChoices):
Anime_music_vid= "AMV"
Game_music_vid="GMV"
Anime_sound_music_video="ASMV"
name = models.fields.CharField(max_length=100)
genre=models.fields.CharField(choices=Genre.choices,max_length=5)
channel = models.fields.URLField(null=True,blank=True)
publication_date = models.fields.DateField(null=True,blank=True)
creator= models.fields.CharField(max_length=100)
link=models.fields.URLField(null=True,blank=True)
До модификации "name" был единственным объектом класса.
Эта ошибка представляет собой кучу трассировок и, наконец, сообщает, что есть "TypeError: fromisoformat: argument must be str " в этой строке: return datetime.date.fromisoformat(value) in dateparse.py file.
Я ищу решение уже несколько дней, но никак не могу найти, я еще не полностью понимаю работу django, поэтому было бы очень здорово, если бы кто-нибудь подсказал мне, как справиться с этим.
Спасибо за ваше время.
У меня была похожая проблема, чтобы исправить ее, я сбросил миграции.
- Вам необходимо удалить все файлы миграций в вашем проекте
Пройдитесь по папке миграции каждого из ваших проектов apps и удалите все внутри, кроме файла init.py.
Или, если вы используете unix-подобную ОС, вы можете запустить следующий скрипт (внутри каталога вашего проекта):
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
- Создайте начальные миграции и сгенерируйте схему базы данных:
python manage.py makemigrations
python manage.py migrate
Возможно, это не ответ на вопрос ОП, но у меня была опечатка:
null=True,
default=True,
когда это должно быть
null=True,
default=None,