【问题标题】:The field was declared with a lazy reference to 'auth.user', but app 'auth' isn't installed该字段是通过对“auth.user”的惰性引用声明的,但未安装应用程序“auth”
【发布时间】:2022-01-10 23:14:06
【问题描述】:

它是我安装的应用程序:

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.

我在settings.py 中也没有AUTH_USER_MODEL

我也无法删除数据库,因为上面有太多数据。

什么问题??

使用 django2.2 python3.7 postgresql

【问题讨论】:

    标签: python django migrate


    【解决方案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'),
            ...
        ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2018-04-04
      • 2017-10-19
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      相关资源
      最近更新 更多