1

非常に迅速なアドバイスが必要です。「;」で区切られた NULL、1 つ以上の文字列を含むことができるテーブル フィールドがあります。

現時点では、列は通常どおりモデルで定義されています。

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」のリストまたは None を取得するにはどうすればよいですか?

属性をオーバーライドすることは可能ですか?

4

1 に答える 1

0

または宣言型 API を使用mapperして、クラスに計算属性を作成できます。オプションには次のものがあります。

ここでは、テーブルのフィールドを変更するオプションがないことを前提としています。しかし、そうすると、解析する必要のあるリストを単一の列に入れるのは「臭い」です。たとえば、リストが長すぎるとどうなりますか? そのデータ用に別のテーブルを用意し、簡単な結合を使用してエイリアス リストを取得することをお勧めします。

于 2013-08-09T15:00:50.070 に答える