我正在尝试为总分类帐的报告创建一个新视图,为此,通过调查,我意识到我必须使用transientmodel和abstractmodel才能起作用。然后,我开始构造这些向导模型,并在报告中创建了抽象模型,但是在执行时出现以下错误:
在sure_one中的文件“ /mnt/c/odoo/odoo/models.py”,第4727行
raise ValueError("Expected singleton: %s" % self)
ValueError:预期的单例:proyecto_rc.account(1、2)
正是由于以上原因,我来到这个地方看看他们是否可以帮助我找到并解决问题。接下来,我添加希望他们理解的代码。
wizar py
class Book (models.TransientModel):
_name = 'project_rc.book'
start_date = fields.Date (string = "Start date", required = True)
end_date = fields.Date (string = "End date", required = True)
@api.multi
def action_report (self):
"" "Method that calls the logic that generates the report" ""
data = {'ids': self.env.context.get ('active_ids', [])}
res = self.read (['start_date', 'end_date'])
res = res and res [0] or {}
datas ['form'] = res
domain = []
if self.date_date:
domain = [('create_date', '<', self.state_date)]
fields = ['title', 'total_debit_count', 'total_credit_count']
lmayor_data = self.env ['project_rc.account']. search_read (domain, fields)
datas ['lmayor_data'] = lmayor_data
return self.env ['report']. get_action ([], 'project_rc.report_bookmajor', data = data)
报告py
class report_bookmajor(models.AbstractModel):
_name = 'report.proyecto_rc.bookmajor'
@api.model
def render_html(self, docids, data=None):
data = data if data is not None else {}
bookmajor = self.env['proyecto_rc.account'].browse(data.get('ids', data.get('active_ids')))
docargs = {
'doc_ids': data.get('ids', data.get('active_ids')),
'doc_model': 'proyecto_rc.account',
'docs': bookmajor,
'data': dict(
data
),
}
return self.env['report'].render('proyecto_rc.bookmajor_template', docargs)
回顾这两个模型,我有什么问题?我必须添加帐户表或在transientmodel中执行的方法中并调用它,而不必将其添加为多个?