Таблица профилей не создается для расширенной модели User в django
Я столкнулся с такой проблемой в django, когда даже при наличии модели Profile в моем файле models.py, которая расширяет модель django User, при выполнении команд 'makemigration' и 'migrate' таблица Profile не создается в базе данных.
Это мой models.py:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
clg_name = models.CharField(max_length=200)
class Student(models.Model):
name = models.CharField(max_length=100, blank=False)
enrollment_number = models.IntegerField(unique=True, null=True, blank=False)
clg_name = models.CharField(max_length=200, blank=False)
program_name = models.CharField(max_length=30, blank=False)
class Result(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
sem = models.IntegerField()
exam_name = models.CharField(max_length=30)
percnt = models.FloatField(null=True)
cgpa = models.FloatField(null=True)
class Marks(models.Model):
result = models.ForeignKey(Result, on_delete=models.CASCADE)
course_name = models.CharField(max_length=100, null=True)
course_code = models.IntegerField(null=True)
course_credit = models.IntegerField(null=True)
grade = models.FloatField(null=True)
Вот результат работы py manage.py makemigration account:
Migrations for 'account':
account\migrations\0001_initial.py
- Create model Result
- Create model Profile
- Create model Marks
А это вывод py manage.py migrate:
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
Я не знаю, что не так с вашим приложением аккаунта. но вы можете решить эту проблему с помощью :
1- удалить папки __pycache__
и migrations
, расположенные внутри приложения account app
2 - запустить python manage.py makemigrations account zero
3 - затем выполнить python manage.py makemigrations account
4 - наконец-то запущен python manage.py migrate
Я решил следующую ошибку, просто сбросив всю базу данных и удалив py_cache и файлы миграции моего приложения. Просто создайте другую базу данных и повторно запустите команды migration и migrate. Надеюсь, это поможет.