我正在尝试实现 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)
我注意到问题在于 djangocursor.execute
通过分别传递 SQL 语句和参数来执行的方式,从而导致default
关键字被引号包围。
我正在尝试找到一种无需重写 postgres 后端即可解决此问题的方法
非常感谢帮助