首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有使用数据库默认值的自定义字段的Django模型

具有使用数据库默认值的自定义字段的Django模型
EN

Stack Overflow用户
提问于 2015-12-17 18:22:00
回答 1查看 160关注 0票数 4

我正在尝试实现IntegerField的一个子类,以便在我的Postgres数据库上使用默认方法,而不是django默认方法(我知道这是一个热门话题)。为此,我修改了自定义字段上的以下方法

代码语言:javascript
复制
    def get_db_prep_save(self, value, connection):
        return 'default'

然而,当django执行SQL语句时,它看起来像这样:

代码语言:javascript
复制
INSERT INTO my_table ('default_column') VALUES ('default')

插入失败,因为default关键字被引号括起来。以下SQL语句起作用:

代码语言:javascript
复制
INSERT INTO my_table ('default_column') VALUES (default)

我注意到问题出在django通过分别传递SQL语句和参数来执行cursor.execute的方式,从而导致default关键字被引号括起来。

我正在尝试找到一种不重写postgres后端的方法来解决这个问题

非常感谢您的帮助

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 17:59:30

Reference

代码语言:javascript
复制
from psycopg2.extensions import AsIs 

def get_db_prep_save(self, value, connection):
    return AsIs('default')

应该做这件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34332122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档