Я пытался очистить свою базу данных, 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:\Python27\lib\site-packages\django\core\management\__init__.py", line 438, in execute_manager utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv self.execute(*args, **options.__dict__)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 220, in execute output = self.handle(*args, **options)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 351, in handle return self.handle_noargs(**options)
File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py", line 109, in handle_noargs emit_post_sync_signal(created_models, verbosity, interactive, db)
File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 190, in emit_post_sync_signal interactive=interactive, db=db)
File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 172, in send response = receiver(signal=self, sender=sender, **named)
File "C:\Python27\lib\site-packages\django\contrib\auth\management\__init__.p ", line 51, in create_permissions content_type=ctype
File "C:\Python27\lib\site-packages\django\db\models\manager.py", line 138, in create return self.get_query_set().create(**kwargs)
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 360, in create obj.save(force_insert=True, using=self.db)
File "C:\Python27\lib\site-packages\django\db\models\base.py", line 460, in save self.save_base(using=using, force_insert=force_insert, force_update=force_up
date)
File "C:\Python27\lib\site-packages\django\db\models\base.py", line 553, in save_base result = manager._insert(values, return_id=update_pk, using=using)
File "C:\Python27\lib\site-packages\django\db\models\manager.py", line 195, in _insert return insert_query(self.model, values, **kwargs)
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 1436, in insert_query return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 791, in execute_sql cursor = super(SQLInsertCompiler, self).execute_sql(None)
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 735, in execute_sql cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\util.py", line 34, in execute return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 86, in execute return self.cursor.execute(query, args)
File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\MySQLdb\cursors.py", line 174, in execute self.errorhandler(self, exc, value)
File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\MySQLdb\connections.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 |
+----+--------------+--------------+--------------+