1

我需要一个非常快速的建议。我有一个表字段,它可以包含 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”的列表或无?

是否可以覆盖属性?

4

1 回答 1

0

使用mapper或声明式 API,您可以在类中创建计算属性。选项包括:

And I'm assuming here that you don't have the option of changing the fields of your tables. But if you do, putting lists that you have to parse inside a single column is a "smell". For example, what happens when your list is too long? Better to have a separate table for that data and use a straight-forward join to get your aliases list.

于 2013-08-09T15:00:50.070 回答