【问题标题】:Fixing the error: django.db.utils.OperationalError: no such table: auth_group修复错误:django.db.utils.OperationalError: no such table: auth_group
【发布时间】:2020-04-26 02:27:35
【问题描述】:

我正在尝试使用以下命令运行一些简单的测试:python manage.py test

当我这样做时,我收到错误提示

文件“/Users/petka/.local/share/virtualenvs/movie_platform-wu_Kht1X/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py”,第394行,在执行 返回 Database.Cursor.execute(self, query) django.db.utils.OperationalError:没有这样的表:auth_group

有人知道如何解决这个问题吗?

movies_app/tests.py

    from django.test import TestCase

    class SmokeTest(TestCase):

    def test_bad_maths(self):
        self.assertEqual(1 + 1, 3)

【问题讨论】:

  • 您找到解决方法了吗?我有完全相同的错误,但 auth_group 不在我的代码中。

标签: django testing


【解决方案1】:

你迁移了吗? 如果没有,则运行以下命令

  1. python manage.py makemigrations
  2. python manage.py 迁移

【讨论】:

    【解决方案2】:

    我尝试删除我的 db.sqlite3、migrations 和 pycache 文件夹,然后按照几篇帖子的建议运行 makemigrations、syncdb...等,但它引发了完全相同的错误,sqlite3.OperationalError: no such table: auth_group

    这对我有用:注释掉 urls.py 和 admin.py 中的所有内容,运行 makemigrations & migrate。

    详情: 注释掉 urls.py 然后运行 ​​makemigrations 会引发相同的错误,但在回溯中它指向 admin.py 中试图访问或在数据库中创建新实例的代码行。然后我注释掉了 admin.py 中的所有内容,并在 pipenv 中重新运行了./manage.py makemigrations./manage.py migrate,它成功了!执行此操作时存在迁移文件夹(在其他尝试解决问题时将其从 git 中删除),所以我猜没有必要删除它。

    【讨论】:

      【解决方案3】:

      我的解决方法是在用于测试的数据库中执行迁移。出于某种原因,您需要更新它,即使它重新创建了所有内容。

      【讨论】:

        猜你喜欢
        • 2019-07-04
        • 1970-01-01
        • 1970-01-01
        • 2020-11-07
        • 2021-08-03
        • 2022-01-14
        • 2018-06-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多