我正在尝试实现IntegerField的一个子类,以便在我的Postgres数据库上使用默认方法,而不是django默认方法(我知道这是一个热门话题)。为此,我修改了自定义字段上的以下方法
def get_db_prep_save(self, value, connection):
return 'default'然而,当django执行SQL语句时,它看起来像这样:
INSERT INTO my_table ('default_column') VALUES ('default')插入失败,因为default关键字被引号括起来。以下SQL语句起作用:
INSERT INTO my_table ('default_column') VALUES (default)我注意到问题出在django通过分别传递SQL语句和参数来执行cursor.execute的方式,从而导致default关键字被引号括起来。
我正在尝试找到一种不重写postgres后端的方法来解决这个问题
非常感谢您的帮助
发布于 2017-09-01 17:59:30
Reference
from psycopg2.extensions import AsIs
def get_db_prep_save(self, value, connection):
return AsIs('default')应该做这件事。
https://stackoverflow.com/questions/34332122
复制相似问题