私はモデルの事にメソッドを持っています:
def method(self, session):
if self.column_value is None:
self.column_value = some expensive calculation
session.add(self)
session.commit()
return self.column_value
else:
return self.column_value
そのため、thing_instance.method を実行して column_value を返し、必要に応じて計算することができます。これは私が他の場所で行った方法であり、Pythonでこれを行うことに適応しようとしています。
これは私が望むように機能していません.エラーが大量に発生しています....より良い方法は何ですか?
編集:
その方法は、一言で言えばそれです。私はthing_instanceを持っていて、thing_instance.method()を呼び出します。私が得ているエラーは次のとおりです。
sqlalchemy.exc.InterfaceError: (InterfaceError) Error binding parameter 0 - probably unsupported type
どちらがより便利かもしれません。
要求に応じてより具体的なコードを入力しますが、それは私の質問の邪魔になります。ここでの問題は次のとおりです: 列の値が設定されていない場合、インスタンスの列の値を計算して更新する sqlalchemy モデルのメソッドを正確に記述するにはどうすればよいですか? pythoinic/sqlalchemic の方法で? バリエーションで試したことがうまくいかなかったので、脇に置き、この質問をしました
EDIT2:
列の型エラーでした……計算値がリストだったので、列として PickleType を変換するか使用する必要があります。ポインタは引き続き高く評価されます。