私は OpenERP 環境で作業していますが、私の問題は純粋な python の観点から答えられるかもしれません。私がやろうとしているのは、それぞれの辞書を返す関数から「_columns」変数を設定できるクラスを定義することです。だから基本的に:
class repos_report(osv.osv):
_name = "repos.report"
_description = "Reposition"
_auto = False
def _get_dyna_cols(self):
ret = {}
cr = self.cr
cr.execute('Select ... From ...')
pass #<- Fill dictionary
return ret
_columns = _get_dyna_cols()
def init(self, cr):
pass #Other stuff here too, but I need to set my _columns before as per openerp
repos_report()
私は多くの方法を試しましたが、これらのコードは私の基本的なニーズを反映しています。インストールのためにモジュールを実行すると、次のエラーが発生します。
TypeError: _get_dyna_cols() takes exactly 1 argument (0 given)
関数を定義するとき、最初のパラメーターとして_get_dyna_cols
必要です(実行前であっても)。self
また、データを照会して _columns 辞書を埋めるために、openerp の「cr」カーソルへの参照が必要です。では、この関数をどのように呼び出して、に割り当てることができます_columns
か? この関数にどのパラメータを渡すことができますか?
OpenERP の観点から、私は自分の必要性を非常に明確にしたと思います。したがって、提案された他のアプローチも大歓迎です。