0

DAL を使用して db 列に filter_out を適用した後、mysql データベースから元の値を取得すると問題が発生します。

たとえば、整数列を持つテーブルがあります。次に、次のようにフィルタリングします。

db.mytable.mycolumn.filter_out = lambda mycolumn: "some complex stuff"
                                 if mycolumn is None else "another complex stuff"

しかし、どうすれば元の値を取得できますか?

rows = db().select(db.mytable.mycolumn)  // get filtered data, not the original

ヘルプ!

4

1 に答える 1

1

次の 2 つのことが思い浮かびます。

  1. フィルタリングされたデータとフィルタリングされていないデータの唯一の違いは、フィルタリングされていないデータと None のデータだけなので、「一部のもの」が None から来ていると認識できませんか? (「一部の要素」が明確な定数ではない場合、または少なくともフィルターからのものとして認識できない場合、それが問題であることがわかりますが、「一部の要素」が何であるかについて詳しく説明していません。)

  2. テーブルを常にフィルター処理したくない場合は、フィルターをテーブルに保持しないでください。フィルターを置き換える (None または ID ラムダに設定する) と、フィルタリングがなくなりますが、その後は選択するたびに、再度変更するまで続きます。

于 2012-10-29T23:38:06.547 に答える