【问题标题】:How i solve this django project admin operational problem我如何解决这个 django 项目管理操作问题
【发布时间】:2021-12-25 19:56:12
【问题描述】:

当我去项目管理员,对用户进行一些更新并保存时,它说这个,它总是这样我试过卸载 django 并再次安装它,再次创建 virtualenv 并再次创建新项目,然后结果是一样的,这是回溯: 它说

/admin/auth/user/1/change/ 处的操作错误

没有这样的表:main.auth_user__old

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/admin/auth/user/1/change/

Django Version: 2.0.7
Python Version: 3.9.0
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
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 "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
  303.         return Database.Cursor.execute(self, query, params)

The above exception (no such table: main.auth_user__old) was the direct cause of the following exception:

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\core\handlers\exception.py" in inner
  35.             response = get_response(request)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\core\handlers\base.py" in _get_response
  128.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\core\handlers\base.py" in _get_response
  126.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\options.py" in wrapper
  575.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\utils\decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func
  44.         response = view_func(request, *args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\sites.py" in inner
  223.             return view(request, *args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\options.py" in change_view
  1557.         return self.changeform_view(request, object_id, form_url, extra_context)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\utils\decorators.py" in _wrapper
  62.             return bound_func(*args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\utils\decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\utils\decorators.py" in bound_func
  58.                 return func.__get__(self, type(self))(*args2, **kwargs2)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\options.py" in changeform_view
  1451.             return self._changeform_view(request, object_id, form_url, extra_context)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\options.py" in _changeform_view
  1498.                     self.log_change(request, new_object, change_message)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\options.py" in log_change
  784.         return LogEntry.objects.log_action(

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\contrib\admin\models.py" in log_action
  23.         return self.model.objects.create(

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\query.py" in create
  417.         obj.save(force_insert=True, using=self.db)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\base.py" in save
  728.         self.save_base(using=using, force_insert=force_insert,

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\base.py" in save_base
  759.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\base.py" in _save_table
  842.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\base.py" in _do_insert
  879.         return manager._insert([self], fields=fields, return_id=update_pk,

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\query.py" in _insert
  1125.         return query.get_compiler(using=using).execute_sql(return_id)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
  1285.                 cursor.execute(sql, params)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in execute
  100.             return super().execute(sql, params)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in execute
  68.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in _execute_with_wrappers
  77.         return executor(sql, params, many, context)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

File "C:\Users\user\Dev\trydjango\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
  303.         return Database.Cursor.execute(self, query, params)

Exception Type: OperationalError at /admin/auth/user/1/change/
Exception Value: no such table: main.auth_user__old

我刚开始在 FreeCodeCamp 频道上学习它,我每一步都跟着它,youtube 但是当我从 0 再次尝试时它总是一样的,有什么帮助吗?

【问题讨论】:

  • 最简单但有风险的解决方案:删除数据库,迁移除了 init.py 并重新运行 makemigrations 并迁移它们。 您将丢失所有数据尝试先删除迁移而不删除数据库,然后再进行迁移并迁移。如果它不起作用,请删除数据库并重试。

标签: python-3.x django django-models django-admin traceback


【解决方案1】:

以下步骤应该会有所帮助:
1- 使用:
pip install --upgrade django==2.1.5
将 Django 升级到版本 2.1.5(最低) 2-准备和迁移数据库:
python manage.py makemigrations
python manage.py migrate
3- 像往常一样运行应用程序
python manage.py runserver 8000

【讨论】:

    【解决方案2】:

    首先,确保您的所有软件包都已安装。 然后,确保您拥有所有迁移文件并执行 python manage.py migrate。

    希望对您有所帮助。如果我能帮忙,请告诉我!

    【讨论】:

      【解决方案3】:

      您是否尝试过运行表迁移?

      这里是概述如何在 Django 中从 INSTALLED_APPS 创建表的文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-14
        • 1970-01-01
        • 2021-07-06
        • 2011-11-07
        • 2022-06-14
        • 2020-06-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多