加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – django.db.utils.IntegrityError:重复键值违反唯一约

发布时间:2020-12-20 13:20:12 所属栏目:Python 来源:网络整理
导读:卡住我有一个数据库,当我尝试使 python manage.py迁移时,它会给出如下错误: django.db.utils.IntegrityError: duplicate key value violates unique constraint "auth_permission_pkey"DETAIL: Key (id)=(241) already exists. 以下是完整错误: Operations
卡住我有一个数据库,当我尝试使 python manage.py迁移时,它会给出如下错误:

django.db.utils.IntegrityError: duplicate key value violates unique constraint "auth_permission_pkey"
DETAIL:  Key (id)=(241) already exists.

以下是完整错误:

Operations to perform:
  Apply all migrations: admin,auth,companyapp,contenttypes,djcelery,kombu_transport_django,loginapp,projectmanagement,recruitmentproject,sessions,smallproject
Running migrations:
  No migrations to apply.
Traceback (most recent call last):
  File "manage.py",line 10,in <module>
    execute_from_command_line(sys.argv)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/__init__.py",line 363,in execute_from_command_line
    utility.execute()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/__init__.py",line 355,in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/base.py",line 283,in run_from_argv
    self.execute(*args,**cmd_options)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/base.py",line 330,in execute
    output = self.handle(*args,**options)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/commands/migrate.py",line 227,in handle
    self.verbosity,self.interactive,connection.alias,apps=post_migrate_apps,plan=plan,File "/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/sql.py",line 53,in emit_post_migrate_signal
    **kwargs
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/dispatch/dispatcher.py",line 193,in send
    for receiver in self._live_receivers(sender)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py",line 83,in create_permissions
    Permission.objects.using(using).bulk_create(perms)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/query.py",line 443,in bulk_create
    ids = self._batched_insert(objs_without_pk,fields,batch_size)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/query.py",line 1080,in _batched_insert
    inserted_id = self._insert(item,fields=fields,using=self.db,return_id=True)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/query.py",line 1063,in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",line 1099,in execute_sql
    cursor.execute(sql,params)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/backends/utils.py",line 80,in execute
    return super(CursorDebugWrapper,self).execute(sql,line 65,in execute
    return self.cursor.execute(sql,params)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/utils.py",line 94,in __exit__
    six.reraise(dj_exc_type,dj_exc_value,traceback)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/backends/utils.py",params)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "auth_permission_pkey"
DETAIL:  Key (id)=(241) already exists.

解决方法

没有太多其他上下文,看起来您已经为模型添加了一个唯一约束,但是数据库中的行违反了此约束,因此迁移失败.因此,在您的数据库中,您有两行,其中auth_permission_pkey == 241.

您需要删除或更改此行,使其唯一,然后重新运行迁移.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读