[英]Error table already exists when using migrate to create new table
當我在models.py中創建新模型並運行以下命令時:
python manage.py makemigrations appname #worked
python manage.py migrate #doesnt worked
我收到此錯誤:
表“ storage_OldModel”已存在
我還檢查了這個問題Django migration:不創建表,但是沒有任何幫助。
這是錯誤跟蹤:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:9000/ad/storage/pcmodels/
Django Version: 2.1
Python Version: 3.7.0
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'customers.apps.CustomersConfig',
'storage.apps.StorageConfig',
'notes.apps.NotesConfig',
'search.apps.SearchConfig',
'crispy_forms',
'widget_tweaks',
'import_export',
'formset_bootstrap']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "D:\coding\project\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
296. return Database.Cursor.execute(self, query, params)
The above exception (no such table: storage_pcmodels) was the direct cause of the following exception:
File "D:\coding\project\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)
File "D:\coding\project\lib\site-packages\django\core\handlers\base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)
File "D:\coding\project\lib\site-packages\django\core\handlers\base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "D:\coding\project\lib\site-packages\django\contrib\admin\options.py" in wrapper
607. return self.admin_site.admin_view(view)(*args, **kwargs)
File "D:\coding\project\lib\site-packages\django\utils\decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "D:\coding\project\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func
44. response = view_func(request, *args, **kwargs)
File "D:\coding\project\lib\site-packages\django\contrib\admin\sites.py" in inner
223. return view(request, *args, **kwargs)
File "D:\coding\project\lib\site-packages\django\utils\decorators.py" in _wrapper
45. return bound_method(*args, **kwargs)
File "D:\coding\project\lib\site-packages\django\utils\decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "D:\coding\project\lib\site-packages\django\contrib\admin\options.py" in changelist_view
1685. cl = self.get_changelist_instance(request)
File "D:\coding\project\lib\site-packages\django\contrib\admin\options.py" in get_changelist_instance
745. sortable_by,
File "D:\coding\project\lib\site-packages\django\contrib\admin\views\main.py" in __init__
81. self.get_results(request)
File "D:\coding\project\lib\site-packages\django\contrib\admin\views\main.py" in get_results
209. result_count = paginator.count
File "D:\coding\project\lib\site-packages\django\utils\functional.py" in __get__
37. res = instance.__dict__[self.name] = self.func(instance)
File "D:\coding\project\lib\site-packages\django\core\paginator.py" in count
87. return self.object_list.count()
File "D:\coding\project\lib\site-packages\django\db\models\query.py" in count
383. return self.query.get_count(using=self.db)
File "D:\coding\project\lib\site-packages\django\db\models\sql\query.py" in get_count
498. number = obj.get_aggregation(using, ['__count'])['__count']
File "D:\coding\project\lib\site-packages\django\db\models\sql\query.py" in get_aggregation
483. result = compiler.execute_sql(SINGLE)
File "D:\coding\project\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
1061. cursor.execute(sql, params)
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in execute
100. return super().execute(sql, params)
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in execute
68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in _execute_with_wrappers
77. return executor(sql, params, many, context)
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "D:\coding\project\lib\site-packages\django\db\utils.py" in __exit__
89. raise dj_exc_value.with_traceback(traceback) from exc_value
File "D:\coding\project\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "D:\coding\project\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
296. return Database.Cursor.execute(self, query, params)
Exception Type: OperationalError at /ad/storage/pcmodels/
Exception Value: no such table: storage_pcmodels
如果有人知道解決方案,請告訴我。
當我使用django 2.2版本時,解決方案是
python manage.py makemigration app_name
python manage.py migrate --fake-initial
python manage.py migrate app_name
希望對你有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.