在django oracle后端,是否可以配置/替换convert_unicode函数?

时间:2013-10-18 11:30:51

标签: python django oracle django-orm cx-oracle

https://github.com/django/django/blob/master/django/db/backends/oracle/base.py中,你可以找到这段代码:

if int(Database.version.split('.', 1)[0]) >= 5 and \
        (int(Database.version.split('.', 2)[1]) >= 1 or
         not hasattr(Database, 'UNICODE')):
    convert_unicode = force_text
else:
    convert_unicode = force_bytes

convert_unicode是全局变量。

在我的应用中,我需要将其更改为其他内容(请不要问我为什么,只是相信我需要)。有什么简单的方法可以做到这一点?

一个选项是定义我自己的后端,它将继承oracle后端并覆盖这样的函数:

def savepoint_create_sql(self, sid):
        return convert_unicode("SAVEPOINT " + self.quote_name(sid))

对此:

def savepoint_create_sql(self, sid):
        return MY_convert_unicode("SAVEPOINT " + self.quote_name(sid))

但我相信有一个更简单的解决方案,我只是不知道......

0 个答案:

没有答案