sql - 用大写字母命名 django 应用程序可以吗?

标签 sql django database model

在 django 中,我将我的应用程序命名为“Home”。我在 models.py 中创建了一个名为“images”的类并进行迁移,因此我在数据库中创建了一个名为“Home_images”的表。但是当我尝试在该表上执行原始查询时,问题就出现了。

  query = "select * from Home_images" 
  cursor.execute(query)

字符串查询被转换为较小的字母,因此django无法找到名为“Home_images”的表。因为它试图查找数据库中不存在的表名“home_images”。

最佳答案

不带引号的 PostgreSQL 标识符不区分大小写并隐式小写,这是数据库标准和 documented

所以

select * from Home_images 

转换为

select * from home_images 

由 PostgreSQL

如果您想要区分大小写的返回,您应该引用您的名字“Home_images”

关于sql - 用大写字母命名 django 应用程序可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65735479/

相关文章:

database - 如何知道oracle数据库服务器ip?

javascript - Cygwin 如何用于 python 编程?

django - 如何在 graphene-django 中使用 MultipleChoiceFilter?

python - SQL 数据库是否比大型 Pandas 数据框的内存/性能效率更高?

mysql - 数据库建模

python - DetailView 迭代反向 ManyToMany 对象

python - 如何在Python中填写插入语句的列名

mysql - 在MySQL中匹配没有空格和标点符号的字符串

mysql查询以根据首选成员(member)生成佣金报告

mysql - '+' 附近的 SQL 语法不正确