我正在开发 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
作为第一个参数的函数时(甚至在执行之前)。此外,我需要对 openerp 的“cr”光标的引用,以便查询数据以填充我的 _columns 字典。那么,如何调用此函数以便将其分配给_columns
? 我可以将什么参数传递给这个函数?
从 OpenERP 的角度来看,我想我很清楚我的需求。因此,也欢迎任何其他建议的方法。