1

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))

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

4

0 回答 0