我不明白为什么当我使用内置查询功能时,Django可以正常访问我的表,即。 Perk.objects.all()
,但是当我尝试使用自定义sql时,它说没有这样的表。
def sql(self):
queryset = Perk.objects.all() # works fine
cursor = connection.cursor()
cursor.execute("SELECT * FROM perk") # Fails. No such table: perk.
...
答案 0 :(得分:2)
表的默认django命名约定是" appname_classname"。您可以在此处阅读有关更改默认值的信息:
Django table naming convention. Can I change its behavior?
或者查看文档:
https://docs.djangoproject.com/en/1.9/ref/models/options/
你可能会偷看你的数据库,看看实际调用了什么表。