如何在postgresql中使用不带双引号的peewee orm为flask app创建表

时间:2014-01-01 00:26:40

标签: python django postgresql flask peewee

我是peewee orm的新手。

Peewee在创建表时使用双引号,这使得通过psql shell执行select语句变得不必要。这也适用于django的orm。

我真正想要的是一个简单的:

select username,password from user;

相反,我需要做

select "username", "password" from "user";

我见过人们使用sqlalchemy,不需要双引号。有没有办法让我在通过orm创建表时关闭双引号?

谢谢!

2 个答案:

答案 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

如上所述,如果您使用与保留字共享其名称的列,引号可用于防止出现问题。