0

问题:我正在编写自定义 django 模型字段。在 get_db_prep_save(self, value, connection) 中,我需要对 oracle 后端进行异常处理,并且其行为与其他后端不同。所以我正在寻找最好的、官方的和最优雅的方式来做到这一点。

免责声明:我不会接受这样的答案:“使用 settings.DATABASES 并查找 django.db.backends.oracle”,因为它完全是错误的。使用设置我无法确定我当前使用的是哪个数据库(默认或其他),oracle 后端路径将来可能会从 django.db.backends.oracle 更改为其他内容。我正在寻找的是在将自定义字段保存到数据库时检查我是否正在处理 oracle 的最佳方法。

4

2 回答 2

0

文档

将用于查询的特定连接作为连接参数传递。如果需要,这允许您使用特定于后端的转换逻辑。

因此,连接参数可以为您提供有关要连接的后端的信息。连接参数应该是要执行保存的实际 DB_ALIAS的代理对象(查看此代码)。

于 2012-12-07T11:51:19.540 回答
-1

我讨厌回答自己的问题,但我发现正确的答案是:

connection.vendor
于 2012-12-11T10:55:38.923 回答