Django - 没有这样的 table - 自定义 sql

Django - no such table - custom sql

我不明白为什么当我使用 Django 的内置查询功能时,Django 可以很好地访问我的 table,即。 Perk.objects.all(),但当我尝试使用自定义 sql 时,它说没有这样的 table。

def sql(self):
    queryset = Perk.objects.all() # works fine
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM perk")  # Fails. No such table: perk.
    ...

tables 的默认 django 命名约定是 "appname_classname"。您可以在此处阅读有关更改默认值的信息:

Django table naming convention. Can I change its behavior?

或查看文档:

https://docs.djangoproject.com/en/1.9/ref/models/options/

您可能会查看您的数据库以查看 table 的实际名称。