Поле было объявлено с ленивой ссылкой на «auth.user», но приложение «auth» не установлено

#python #django #migrate

#питон #джанго #мигрировать

Вопрос:

это мои установленные приложения :

 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'leadgenerator', 'leadgenerator.apps.ui', 'leadgenerator.apps.accounts', 'leadgenerator.apps.instagram', 'leadgenerator.apps.BorseBots', 'leadgenerator.apps.TelegramBorse', 'leadgenerator.apps.Utils', 'leadgenerator.apps.Blog', 'leadgenerator.apps.Crypto', 'channels', 'multiselectfield', 'django_redis', 'django_filters', 'extra_views', 'django_select2', 'compressor', 'django_celery_beat', 'crispy_forms', 'django_tables2', 'ckeditor', 'ckeditor_uploader', # 'leadgenerator.ckeditor5', 'leadgenerator.rolepermissions', 'rolepermissions',  # login and login_as 'loginas', 'allauth', 'allauth.account', 'allauth.socialaccount', 'phonenumber_field',  # blog 'modelcluster', 'taggit', # end blog 'imagekit', 'pwa' ]  

и я использовал пользователя в моделях :

 from django.contrib.auth.models import User as djangoUser class BlogPost(models.Model):  author = models.ForeignKey(djangoUser, on_delete=models.CASCADE, related_name='blog_posts', verbose_name=_('Author'))  

миграция сейчас 0013

когда я использую обратную миграцию, как это :

 migrate Blog 0011  

произошла ошибка :

 ValueError: The field Blog.BlogPost.author was declared with a lazy reference to 'auth.user', but app 'auth' isn't installed.  

также у меня нет AUTH_USER_MODEL в settings.py

также я не могу удалить базу данных, потому что в ней так много данных.

в чем проблема??

использование django2.2 python3.7 postgresql

Ответ №1:

проблема заключалась в зависимостях миграции

нет, где импортируется аутентификация

поэтому я добавляю приведенный ниже код в некоторые из первых Blog migrations , и ошибка решена

 Blog/migrations/0003....py # file name  dependencies = [  migrations.swappable_dependency(settings.AUTH_USER_MODEL),  ... ]  

на самом деле, если вы видите эту ошибку в другом your_app, просто добавьте некоторые миграции your_app в зависимости, как показано ниже:

 dependencies = [  ('accounts', '0012_auto_20200730_1818'),  ...  ]