我已经创建了一个要在Azure上托管的Django应用程序,因此我使用Python Tools for Visual Studio来开发应用程序。我在我的根应用程序中的models.py中创建了一个名为Client的模型。它实际上是一个模型表格,因为表格列都链接到我创建的表单中的字段。我正在使用MySQL,连接器是MySQLClient,因为我正在使用Python 3.4。我跑了python manage.py syncdb
,显示了以下内容:
Operations to perform:
Synchronize unmigrated apps: staticfiles, messages, VSpace
Apply all migrations: auth, sessions, contenttypes, sites
Synchronizing apps without migrations:
Creating tables...
Creating table VSpace_Client
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying auth.0001_initial...Traceback (most recent call last):
这就是失败的地方。我正在研究这个,我遇到了一些关于创建超级用户的事情。我试过了,但在输入凭证后它也失败了。有谁知道为什么会这样?
编辑1:
回溯:
Traceback (most recent call last):
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 62, in execute
return self.cursor.execute(sql)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\mysql\base.py", line 124, in execute
return self.cursor.execute(query, args)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 220, in execute
self.errorhandler(self, exc, value)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorvalue
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 209, in execute
r = self._query(query)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 371, in _query
rowcount = self._do_query(q)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 335, in _do_query
db.query(q)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 280, in query
_mysql.connection.query(self, query)
_mysql_exceptions.OperationalError: (1050, "Table 'auth_permission' already exists")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\manage.py", line 17, in <module>
execute_from_command_line(sys.argv)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line
utility.execute()
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 393, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 444, in execute
output = self.handle(*args, **options)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\commands\syncdb.py", line 25, in handle
call_command("migrate", **options)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 120, in call_command
return command.execute(*args, **defaults)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 444, in execute
output = self.handle(*args, **options)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\commands\migrate.py", line 221, in handle
executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\executor.py", line 110, in migrate
self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\executor.py", line 148, in apply_migration
state = migration.apply(state, schema_editor)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\migration.py", line 115, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\operations\models.py", line 59, in database_forwards
schema_editor.create_model(model)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\base\schema.py", line 286, in create_model
self.execute(sql, params or None)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\base\schema.py", line 111, in execute
cursor.execute(sql, params)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\utils.py", line 97, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\utils\six.py", line 658, in reraise
raise value.with_traceback(tb)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 62, in execute
return self.cursor.execute(sql)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\mysql\base.py", line 124, in execute
return self.cursor.execute(query, args)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 220, in execute
self.errorhandler(self, exc, value)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorvalue
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 209, in execute
r = self._query(query)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 371, in _query
rowcount = self._do_query(q)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 335, in _do_query
db.query(q)
File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 280, in query
_mysql.connection.query(self, query)
django.db.utils.OperationalError: (1050, "Table 'auth_permission' already exists")
The Python REPL process has exited
答案 0 :(得分:1)
首先,尝试运行python manage.py migrate
而不是syncdb
。如果我没记错的话,syncdb
命令被弃用,而不是makemigrations
和migrate
命令。试试吧,事情应该会好转。
相关:您使用的是哪个版本的Django?
答案 1 :(得分:1)
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
正如JwM所说,syncdb
已被弃用,现在使用makemigrations
和migrate
答案 2 :(得分:1)
您的数据库中已存在auth_permissions
表,但迁移认为它不存在。尝试伪造迁移以超越这一点。
./manage.py migrate auth --fake