SQLAlchemy:在内部和数据库格式之间来回转换列值

SQLAlchemy:在内部和数据库格式之间来回转换列值,第1张

SQLAlchemy:在内部和数据库格式之间来回转换列值

使用类型修饰符处理与自定义格式之间的转换。而不是

String
在定义列时使用此类型。

class MyTime(TypeDecorator):    impl = String    def __init__(self, length=None, format='%H:%M:%S', **kwargs)        super().__init__(length, **kwargs)        self.format = format    def process_literal_param(self, value, dialect):        # allow passing string or time to column        if isinstance(value, basestring):  # use str instead on py3 value = datetime.strptime(value, self.format).time()        # convert python time to sql string        return value.strftime(self.format) if value is not None else None    process_bind_param = process_literal_param    def process_result_value(self, value, dialect):        # convert sql string to python time        return datetime.strptime(value, self.format).time() if value is not None else None# in your modelclass MyModel(base):    time = Column(MyTime(length=7))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存