Я работаю в среде 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, думаю, я достаточно ясно изложил свою потребность. Поэтому любой другой предложенный подход также приветствуется.
_columns =
внутри строки__init__
? - person Mark Ransom   schedule 10.10.2012