ValueError: Связанная модель 'auth.user' не может быть разрешена при миграции
Я пытаюсь настроить проект для pythonanywhere.com.
Я удалил старый файл sqlite3, а также миграции, и теперь хочу восстановить его. Я запустил команду py manage.py makemigrations
, затем запустил py manage.py migrate
. Но там я получил ошибку:
Я не думаю, что проблема в models.py
, потому что он хорошо работал на моем локальном компьютере. Но вот оно:
from django.db import models
from allauth.socialaccount.models import SocialAccount
# Create your models here.
class ResultInfo(models.Model):
uid = models.ForeignKey(SocialAccount, on_delete=models.CASCADE)
friend_id = models.CharField(max_length = 16)
status = models.BooleanField()
status_description = models.CharField(max_length = 16, null=True, blank=True)
result_info = models.JSONField()
def __str__(self):
return str(self.uid) + ", friend_id:" + self.friend_id
class Meta:
constraints = [
models.UniqueConstraint(fields=['uid', 'friend_id'], name='composite_key')
]
Я подумал, что проблема может быть в отсутствии суперпользователя, поэтому попытался создать его. Однако у меня возникла другая проблема: User Registration with error: no such table: auth_user
. Я прочитал решение здесь и там говорится, что мне нужно сделать python manage.py migrate
. Но это невозможно, как я уже говорил ранее.
Это странное поведение, потому что у меня до сих пор нет файла sqlite. И точно такая же проблема существует С sqlite файлом. Пожалуйста, обратите внимание, что это НЕ дубликат этого вопроса, потому что у меня другая трассировка, также у меня гораздо более новая версия Django (4.1), а также сайт нормально работает на localhost.
Скорее всего, у вас есть настройка:
AUTH_USER_MODEL = 'auth.User'
so с большой буквы U
. Это будет относиться к пользовательской модели.
Вероятно, вы не мигрировали модель auth
. Вы можете сделать это сначала с помощью:
python manage.py migrate auth