【发布时间】:2016-03-23 18:37:10
【问题描述】:
我正在尝试实现 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 后端即可解决此问题的方法
非常感谢您的帮助
【问题讨论】:
标签: sql django postgresql django-custom-field