python - Django 说该表不存在

标签 python mysql django django-models

我是 Django 的新手,我在一个使用 mysql 数据库的项目中工作。 他们将数据库导入到 Django 模型中,看起来它没有遗漏任何东西。但是,当我使用 Django 进行查询时,它说缺少一个表。我检查了数据库中的表名,它是匹配的。很奇怪。我还是通过使用语法“.using('db_config').values('column1', 'column2')”解决了这个问题

模型如下:

class UserRoles(models.Model):
    role_id = models.AutoField(primary_key=True)
    class Meta:
        managed = False
        db_table = 'user_roles'

给出错误的命令:

UserRoles.objects.filter(role_id=number)

不抛出错误的命令:

r = UserRoles.objects.using('db_config').values('role_id')
q = r.filter(role_id=number)

错误如下:

django.db.utils.OperationalError: no such table: user_roles

我这里的问题是为什么之前Django找不到表?为什么我需要使用“值”方法来查找行??我检查了所有字段都匹配。我之前还运行了 makemigrations、syncdb

PS:另一件奇怪的事情是元标记“unique_together”也不起作用。我不得不使用方法“值”来使查询工作。我不知道它是否有某种关联。

最佳答案

这与 values 无关,您使用的是 using第二个查询中的方法用于告诉 django 您要查询哪个数据库。

从今以后,您正在寻找一个单独的数据库,该数据库确实应用了相关的迁移

关于python - Django 说该表不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848769/

相关文章:

mysql - 如何在带有负条件的SQL中按 block 进行分组?

php - PDO连接类

python - Pandas CSV 导入中二进制变量的最佳数据类型,以减少内存使用

python - 大数据中的 EOF 内部字符串

python - Docker 镜像如何在本地构建,而不是在远程目标?

python - for 循环生成多个 polyfit 散点图

php - Sql如何从一个表中选择另一个表中不存在的

python - Django 根据用户输入查询数据库

Django/React Router DOM - 登陆 django 中未指定的 url

django - 使用 Amazon API Gateway 时,如何从 Django 后端获取请求中使用的 API key ?