我需要一个非常快速的建议。我有一个表字段,可以包含NULL,一个或多个字符串,用';'分隔。
目前,模型中的列是照常定义的:
aliases = Column(String(255))
我有一个混合属性,它拆分字符串并返回一个列表:
def my_aliases(self):
if self.aliases:
return [i.strip() for i in self.aliases.split(';')]
如何更改模型的默认行为以摆脱无用的'self.aliases'并始终获取'self.my_aliases'的列表或无?
是否可以覆盖属性?
答案 0 :(得分:0)
使用mapper
或声明性API,您可以在类中创建计算属性。选项包括:
我假设您没有选择更改表格的字段。但是如果你这样做,那么将你必须解析的列表放在一个列中是一种“气味”。例如,当您的列表太长时会发生什么?最好为该数据设置一个单独的表,并use a straight-forward join获取别名列表。