You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 4.1执行migrate时auth表报ValueError: too many values to unpack

Django 4.1 migrate时auth表报错:ValueError: too many values to unpack (expected 2)

执行python manage.py migrate时触发auth.0001_initial迁移报错,已尝试删除数据库及所有迁移文件重新初始化,但问题依旧,使用Django 4.1版本。错误日志如下:

$ python manage.py migrate                                                                                     
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, generator, sessions
Running migrations:
  Applying auth.0001_initial...Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/base.py", line 448, in execute
    output = self.handle(*args, **options)
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/base.py", line 96, in wrapped
    res = handle_func(*args, **kwargs)
  File "<redacted>/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 349, in handle
    post_migrate_state = executor.migrate(
  File "<redacted>/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
  File "<redacted>/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
  File "<redacted>/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 255, in apply_migration
    migration_recorded = True
  File "<redacted>/venv/lib/python3.8/site-packages/django/db/backends/sqlite3/schema.py", line 39, in __exit__
    self.connection.check_constraints()
  File "<redacted>/venv/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py", line 289, in check_constraints
    for column_name, (
ValueError: too many values to unpack (expected 2)

排查方案

  • 检查自定义User模型:如果项目中自定义了用户模型,确认settings.py里的AUTH_USER_MODEL配置正确,模型中的关联字段(如OneToOneField、ForeignKey)没有重复定义或语法错误,避免和默认auth模型产生冲突。
  • 升级SQLite版本:Django 4.1要求SQLite版本≥3.24.0,旧版本SQLite在处理约束检查时可能出现解析错误,升级到符合要求的版本后重试迁移。
  • 排查第三方包冲突:暂时禁用所有auth相关的第三方包(如django-allauth、django-rest-framework-simplejwt等),执行迁移看是否正常,逐步排查出冲突的包。
  • 检查迁移文件:确认没有手动修改过auth模块的迁移文件,以及自身app的迁移文件中涉及auth模型的部分是否存在语法错误,必要时重新生成迁移文件。
  • 重建虚拟环境:删除现有虚拟环境,重新创建并安装Django 4.1及依赖包,避免依赖版本混乱导致的兼容性问题。

内容的提问来源于stack exchange,提问作者degenTy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:15:29