1
我們成功實現了用戶定義的數據類型。實際上,本地化策略將可本地化的值保存到JSONB字段中,並添加LocalizedString類型,我們使用sqlAlchemy用戶定義的類型實現在postgresql函數的幫助下獲取/設置它們的值。查找在sqlalchemy用戶定義類型中發生的操作
class LocalizedString(JSONB):
def __init__(self):
super(LocalizedString, self).__init__()
def column_expression(self, colexpr):
locale_id = thread_locale[threading.current_thread().ident]
return func.delocalized(colexpr,locale_id)
def bind_expression(self, bindvalue):
locale_id = thread_locale[threading.current_thread().ident]
val = type_coerce(bindvalue, String)
return func.localized(locale_id, val)
問題是,我必須找出在bind_expression中發生了哪些操作,以便在更新中添加以前的子項目。
{ '恩': '嘗試'}更新後 - > { '恩': '嘗試' 時間, 'fr': 'essayer'}