【问题标题】:ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'users.customuser', but app 'users' isn't installedValueError:字段 admin.LogEntry.user 被声明为对“users.customuser”的惰性引用,但未安装应用程序“users”
【发布时间】:2020-07-27 22:39:38
【问题描述】:

我一直在尝试借助 Django Web 框架使用 CRUD 操作制作一个基本的博客应用程序,我的博客应用程序的 models.py 文件中有此代码。

`from django.db import models
 from django.contrib.auth.models import User
 from django.urls import reverse
 # Create your models here.


 class Post(models.Model):
     title = models.CharField(max_length=250)
     author = models.ForeignKey(User, on_delete=models.CASCADE)
     body = models.TextField()

     def __str__(self):
         return self.title

     def get_absolute_url(self):
         return reverse('post-detail', args=(str(self.id)))`

现在,当我尝试迁移时,我收到此错误消息:“ValueError:字段 admin.LogEntry.user 声明时使用了对 'users.customuser' 的惰性引用,但应用程序 'users' 不是已安装。” 因此,我无法在“http://127.0.0.1:8000/admin/”的管理员帐户中看到用户链接

【问题讨论】:

  • 您使用的是自定义用户模型吗?
  • 是的,我正在使用自定义用户模型。但问题是我可以使用 Windows 笔记本电脑毫无错误地运行这个程序。但是,我在 Mac 中遇到了这个错误。

标签: python django


【解决方案1】:

大多数情况下发生此错误是因为我们的初始迁移未应用。首先使用这个命令:

python manage.py migrate

在此之后重试您的 makemigrations 命令。

python manage.py makemigrations

如果上述命令成功运行,则再次使用python manage.py migrate 将您的表迁移到数据库。

【讨论】:

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