ValueError:字段 admin.LogEntry.user 是使用惰性引用声明的

2024-03-06

我正在开发一个新的 django 项目并坚持迁移。

我想创建一个 UserModel,为了做到这一点,到目前为止我做了两件事。 1.我制作了AuthUser模型并在下面的类中设置了一个Meta类。

In 模型.py

class AuthUser(AbstractUser):
    user_type_id = models.PositiveIntegerField(choices=UserTypes.choices())
    user_id = models.PositiveIntegerField()

    class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'

    @property
    def user_type(self):
        return UserTypes(self.user_type_id)

    def original_orm(self):
        if self.user_type.value == UserTypes.raijosha.value:
            return RaijoshaUsers.objects.filter(id=self.user_id).first()
        elif self.user_type.value == UserTypes.shuttennsha.value:
            return Users.objects.filter(id=self.user_id).first()
  1. 在settings.py中,我设置了AUTH_USER_MODEL。

    AUTH_USER_MODEL = '推荐.AuthUser'

这是错误代码。

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, recommend, recommend_raijousha, sessions
Traceback (most recent call last):
  File "manage.py", line 25, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/migrate.py", line 164, in handle
    pre_migrate_apps = pre_migrate_state.apps
  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/state.py", line 218, in apps
    return StateApps(self.real_apps, self.models)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/state.py", line 295, in __init__
    raise ValueError("\n".join(error.msg for error in errors))
ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'recommend.authuser', but app 'recommend' doesn't provide model 'authuser'.

您能帮助我们或给我建议吗?

  Applying admin.0001_initial...Traceback (most recent call last):
  File "manage.py", line 25, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/migrate.py", line 204, in handle
    fake_initial=fake_initial,
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/executor.py", line 115, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/executor.py", line 145, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/executor.py", line 244, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/migration.py", line 129, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/operations/models.py", line 97, in database_forwards
    schema_editor.create_model(model)
  File "/usr/local/lib/python3.6/dist-packages/django/db/backends/base/schema.py", line 254, in create_model
    definition, extra_params = self.column_sql(model, field)
  File "/usr/local/lib/python3.6/dist-packages/django/db/backends/base/schema.py", line 144, in column_sql
    db_params = field.db_parameters(connection=self.connection)
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 994, in db_parameters
    return {"type": self.db_type(connection), "check": self.db_check(connection)}
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 991, in db_type
    return self.target_field.rel_db_type(connection=connection)
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 909, in target_field
    return self.foreign_related_fields[0]
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 653, in foreign_related_fields
    return tuple(rhs_field for lhs_field, rhs_field in self.related_fields if rhs_field)
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 640, in related_fields
    self._related_fields = self.resolve_related_fields()
  File "/usr/local/lib/python3.6/dist-packages/django/db/models/fields/related.py", line 625, in resolve_related_fields
    raise ValueError('Related model %r cannot be resolved' % self.remote_field.model)
ValueError: Related model 'recommend.authuser' cannot be resolved

考虑到建议,我确实删除了迁移文件。 但出现了另一个错误,如上所示。


如果您运行默认值,就会发生这种情况auth应用程序迁移,后来更改了AUTH_USER_MODEL in settings.py。您可以尝试以下操作:

# comment AUTH_USER_MODEL in settings.py so it points to default User model

python manage.py migrate auth zero

# uncomment to be AUTH_USER_MODEL='recommend.AuthUser'

python manage.py migrate auth
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ValueError:字段 admin.LogEntry.user 是使用惰性引用声明的 的相关文章

随机推荐

  • 在 Emacs 中编写“Hello World”?

    我想在 Emacs Lisp 中编写一些 Unix 脚本 但是 似乎没有一种干净的方法来写入 STDOUT 因此我可以将结果重定向到文件或将输出通过管道传输到另一个命令 这print函数在输出字符串周围放置双引号 所以我得到 你好世界 代替
  • Visual Studio 2015 调试器 - 对 SqlCommand 的高性能影响

    从 VS2013 升级到 VS2015 后 我对附加了调试器的 Web 应用程序运行速度如此之慢感到震惊 所以我决定使用 VS2013 和 VS2015 进行比较迷你分析器 http miniprofiler com 分析一个特别慢的页面
  • git 写入和读取访问权限,无需成为服务器用户

    我搜索了一段时间 但找不到合适的解决方案 我的情况 我有一台服务器 上面有一个 git 存储库 只有使用合适的 ssh 密钥才能连接到服务器 是否可以向无法访问服务器的用户授予从此特定存储库写入和读取的权限 是否只能通过在服务器上为用户创建
  • 如何在Python中断言两个列表包含相同的元素? [复制]

    这个问题在这里已经有答案了 在编写测试用例时 我经常需要断言两个列表包含相同的元素 而不考虑它们的顺序 我一直通过将列表转换为集合来做到这一点 有没有更简单的方法来做到这一点 EDIT 正如 MarkDickinson 指出的那样 我可以使
  • 称程序“延迟”的最佳方式是什么?

    有两个过程 A1 和 A2 它们都在其代码中调用函数 B function B boolean begin do other stuff end procedure A1 begin do stuff if b then do stuff
  • 将谷歌地图折线转换为 html 画布线 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要将谷歌地图折线显示到 html 画布中 我如何像这样转换坐标 lat 25 5643498 lng 45 34492432 像这样的画
  • 使用 Kotlin 对 Android 10 上的标记进行聚类

    我发现 Google 的开发网站上大多只有 Java 代码示例 Kotlin 的代码示例也很少 这很烦人 所以我不得不在这里问这个问题 我正在尝试设置 ClusterManager 但我没有任何线索说明它应该如何完成 并且没有可以看到的 K
  • 在 Java 中使用 MessageFormat.format() 格式化消息

    我已将一些消息存储在资源包中 我正在尝试按如下方式格式化这些消息 import java text MessageFormat String text MessageFormat format You re about to delete
  • MPI:MPICH2 在 Windows 局域网中安装和编程

    我正在学习MPI 我遵循的第一个教程是here http curveto blogspot in search label Parallel 我在 Windows 7 上使用 MSVC 2010 成功运行的代码是 include mpi h
  • 浏览器支持以双斜杠开头的 URL

    我最近看到一些没有协议的链接 它看起来并不太难理解 我认为这是一个好主意并且非常直观 对于那些不知道的人 请使用类似的 URL example com script js将指向任一http example com script js or
  • 通过反射使用字符串值设置属性

    我想通过反射设置对象的属性 其值为 typestring 因此 举例来说 假设我有一个Ship类 其属性为Latitude 这是一个double 这是我想做的 Ship ship new Ship string value 5 5 Prop
  • 无法连接到远程虚拟机。连接被拒绝。尝试在 Flash Builder 4.7 中调试远程 java 应用程序时

    在某一时刻 远程调试曾经发挥过作用 但对于我的一生 我似乎无法弄清楚是什么破坏了它 我有一个 Flex Java 应用程序 有一个启动 tomcat 服务器的包装器 我修改了wrapper conf文件以包含 Xdebug Xrunjdwp
  • 当波浪号出现在表达式之前时,它有什么作用?

    var attr input textarea indexOf target tagName toLowerCase value innerHTML 我在一个答案里看到过 以前没见过 这是什么意思 is a 翻转其操作数中的所有位 例如 如
  • “pick”函数的 TypeScript 通用类型(结果对象值类型)

    在编写 pick 函数的类型时遇到问题 当仅选择一个键或具有相同类型值的多个键时 一切正常 但是 如果我尝试选择几个键并且它们的值是不同类型 我会收到错误 不太确定我在哪里犯了错误 感谢您的时间 export interface Mappe
  • 传单地图单击更改颜色,然后再次单击时删除

    我正在使用 Leaflet 制作美国地图 并且具有单击功能来放大和更改州的颜色 这可行 但我不能 单击另一个状态时使颜色返回到之前的颜色 目前 每次我点击一个状态 颜色就会改变 并且不会删除之前的颜色变化 这是我的代码 var map L
  • Python - 使用utf-8编码读取和写入csv文件

    我正在尝试读取一个 csv 文件 其标头包含外来字符 并且我遇到了很多问题 首先 我使用简单的 csv reader 读取文件 filename C Users yuval Desktop new resources mk str mkNu
  • 内联表单,缩小以使标签适合左侧

    标题说标签是因为这是我的用例 但显然它可以是任何元素 我想要实现的是以下表单布局 label input another label input third label input 目前我的 HTML 大致如下 省略细节 div overf
  • 将音频样本从 Float32 移位到 SInt16 会导致严重削波

    我对 iOS 及其 C 基础很陌生 但对一般编程并不熟悉 我的困境是这样的 我正在基于复杂 AudioUnits 的应用程序中实现回声效果 该应用程序需要混响 回声和压缩等 但是 只有当我使用特定的时 回声才能正常工作音频流基本描述我的应用
  • 如何保护 Java/Javafx 代码不被最终用户看到?

    我一个人在一家公司做一个项目已经两年多了 该项目是一个非常大的项目 使用 rxtx 与硬件设备进行通信 我使用 Java 8 和 JAVAFX 作为 UI 现在它几乎完成了 我开始搜索如何交付公司将分发给其客户的最终用户应用程序 问题是 我
  • ValueError:字段 admin.LogEntry.user 是使用惰性引用声明的

    我正在开发一个新的 django 项目并坚持迁移 我想创建一个 UserModel 为了做到这一点 到目前为止我做了两件事 1 我制作了AuthUser模型并在下面的类中设置了一个Meta类 In 模型 py class AuthUser