python – IntegrityError:(1062,密钥重复项)
发布时间:2020-12-20 11:20:26 所属栏目:Python 来源:网络整理
导读:我试图清除我的数据库mydb,并重新填充它以查看我的Django模型的一些更改的效果.然后这一切都发生了.我回滚到我早期的模型设置,但我仍然得到错误. 我不是MySQL专家,我不能完全弄清楚问题以及如何处理它;我尝试使用其他名称创建一个新数据库,但这没有发生.我认
我试图清除我的数据库mydb,并重新填充它以查看我的Django模型的一些更改的效果.然后这一切都发生了.我回滚到我早期的模型设置,但我仍然得到错误.
我不是MySQL专家,我不能完全弄清楚问题以及如何处理它;我尝试使用其他名称创建一个新数据库,但这没有发生.我认为这是我的Django项目创建的问题. 这是所有信息: C:Users...>python manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table auth_message Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log Creating table forum_category Creating table forum_thread Creating table forum_post You just installed Django's auth system,which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (Leave blank to use 'me'): admin E-mail address: example@example.com Password: Password (again): Superuser created successfully. Traceback (most recent call last): File "manage.py",line 14,in execute_manager(settings) File "C:Python27libsite-packagesdjangocoremanagement__init__.py",line 438,in execute_manager utility.execute() File "C:Python27libsite-packagesdjangocoremanagement__init__.py",line 379,in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:Python27libsite-packagesdjangocoremanagementbase.py",line 191,in run_from_argv self.execute(*args,**options.__dict__) File "C:Python27libsite-packagesdjangocoremanagementbase.py",line 220,in execute output = self.handle(*args,**options) File "C:Python27libsite-packagesdjangocoremanagementbase.py",line 351,in handle return self.handle_noargs(**options) File "C:Python27libsite-packagesdjangocoremanagementcommandssyncdb.py",line 109,in handle_noargs emit_post_sync_signal(created_models,verbosity,interactive,db) File "C:Python27libsite-packagesdjangocoremanagementsql.py",line 190,in emit_post_sync_signal interactive=interactive,db=db) File "C:Python27libsite-packagesdjangodispatchdispatcher.py",line 172,in send response = receiver(signal=self,sender=sender,**named) File "C:Python27libsite-packagesdjangocontribauthmanagement__init__.p ",line 51,in create_permissions content_type=ctype File "C:Python27libsite-packagesdjangodbmodelsmanager.py",line 138,in create return self.get_query_set().create(**kwargs) File "C:Python27libsite-packagesdjangodbmodelsquery.py",line 360,in create obj.save(force_insert=True,using=self.db) File "C:Python27libsite-packagesdjangodbmodelsbase.py",line 460,in save self.save_base(using=using,force_insert=force_insert,force_update=force_up date) File "C:Python27libsite-packagesdjangodbmodelsbase.py",line 553,in save_base result = manager._insert(values,return_id=update_pk,using=using) File "C:Python27libsite-packagesdjangodbmodelsmanager.py",line 195,in _insert return insert_query(self.model,values,**kwargs) File "C:Python27libsite-packagesdjangodbmodelsquery.py",line 1436,in insert_query return query.get_compiler(using=using).execute_sql(return_id) File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py",line 791,in execute_sql cursor = super(SQLInsertCompiler,self).execute_sql(None) File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py",line 735,in execute_sql cursor.execute(sql,params) File "C:Python27libsite-packagesdjangodbbackendsutil.py",line 34,in execute return self.cursor.execute(sql,params) File "C:Python27libsite-packagesdjangodbbackendsmysqlbase.py",line 86,in execute return self.cursor.execute(query,args) File "C:UsersmeAppDataRoamingPythonPython27site-packagesMySQLdbcursors.py",line 174,in execute self.errorhandler(self,exc,value) File "C:UsersmeAppDataRoamingPythonPython27site-packagesMySQLdbconnections.py",line 36,in defaulterrorhandler raise errorclass,errorvalue django.db.utils.IntegrityError: (1062,"Duplicate entry '9-delete_category' for key 'content_type_id'") #models.py from django.db import models from django.contrib.auth.models import User class Category(models.Model): title = models.CharField(max_length=80) class Meta: verbose_name_plural = "categories" permissions = ( ("create_category","Can create new categories"),("edit_category","Can edit the titles of categories"),("delete_category","Can delete a category"),("merge_category","Can merge multiple categories together"),) class Thread(models.Model): creation_date = models.DateTimeField() author = models.ForeignKey(User) title = models.CharField(max_length=80) category = models.ForeignKey(Category) class Meta: ordering = ["-creation_date"] permissions = ( ("create_thread","Create new threads"),("edit_thread","Edit thread titles"),("delete_thread","Delete threads"),("merge_thread","Merge multiple threads together"),("lock_thread","Lock threads"),("unlock_thread","Open locked threads"),("ban_user_in_thread","Ban user from post in thread"),("timeout_user_in_thread","Ban user from posting in thread temporarily"),("appoint_threadmin","Give a user mod-like permissions in a thread"),) class Bookmark(models.Model): user = models.ForeignKey(User) thread = models.ForeignKey(Thread) class Subscription(models.Model): user = models.ForeignKey(User) thread = models.ForeignKey(Thread) class Post(models.Model): creation_date = models.DateTimeField() author = models.ForeignKey(User) thread = models.ForeignKey(Thread) content = models.TextField() class Meta: ordering = ["creation_date"] permissions = ( ("create_post","Can create new post"),("edit_post","Can edit all users' posts"),("delete_post","Can delete posts"),) +----------------------------+ | Tables_in_mydb | +----------------------------+ | auth_group | | auth_group_permissions | | auth_message | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_admin_log | | django_content_type | | django_session | | django_site | | forum_bookmark | | forum_category | | forum_post | | forum_subscription | | forum_thread | +----------------------------+ mysql> select * from django_content_type; +----+--------------+--------------+--------------+ | id | name | app_label | model | +----+--------------+--------------+--------------+ | 1 | permission | auth | permission | | 2 | group | auth | group | | 3 | user | auth | user | | 4 | message | auth | message | | 5 | content type | contenttypes | contenttype | | 6 | session | sessions | session | | 7 | site | sites | site | | 8 | log entry | admin | logentry | | 9 | category | forum | category | | 10 | thread | forum | thread | | 11 | bookmark | forum | bookmark | | 12 | subscription | forum | subscription | | 13 | post | forum | post | +----+--------------+--------------+--------------+ 解决方法
Django每个模型自动
creates few default permissions,这些是:添加,删除和更改.您正在尝试使用相同名称创建权限,从而获得完整性错误.只需删除元描述中的删除_ ***,一切都应该没问题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |