我是peewee orm的新手。
Peewee在创建表时使用双引号,这使得通过psql shell执行select语句变得不必要。这也适用于django的orm。
我真正想要的是一个简单的:
select username,password from user;
相反,我需要做
select "username", "password" from "user";
我见过人们使用sqlalchemy,不需要双引号。有没有办法让我在通过orm创建表时关闭双引号?
谢谢!
答案 0 :(得分:3)
双引号不是实际表/列名称的一部分。它们就在那里,因此您不会收到名称与保留关键字冲突的错误消息。
当从shell中查询某些内容时,您可以安全地省略它们,因为我之前提到的原因是名称不需要引号。
答案 1 :(得分:0)
您无法使用postgres创建名为“user”的表:
psql (9.3.2)
Type "help" for help.
peewee_test=# create table user (id serial);
ERROR: syntax error at or near "user"
LINE 1: create table user (id serial);
^
peewee_test=# create table users (id serial);
CREATE TABLE
如上所述,如果您使用与保留字共享其名称的列,引号可用于防止出现问题。