Odoo有自动日程安排(ir.cron)。我需要从我自己的模块配置计划。在我的模块中使用one2many可以创建新的计划操作,当我签入设置时 - >自动化 - >计划操作。这是存在的,也是成功的。
我有问题,我的模块中只有一个数据显示,但所有数据都显示在 安排成功的行动菜单。
请更正我的代码,我现在卡住了:( 这是我的代码:
class sync_batch_schedule(osv.osv):
_name = "ir.cron"
_inherit = "ir.cron"
我使用_inherit所以可以将recods保存在同一个表中并且可以在我自己的模块中进行CRUD。因为当我只阅读没有新的继承类。数据只读,所以我创建one2many,这个:
class sync_batch_update(osv.osv):
_name = 'sync.batch.update'
_columns = {
'name' : fields.char('Name', required=True),
'sync_batch_update_ids' : fields.one2many('eth.sync.update','batch_update_id', 'Batch to Update'),
'sync_batch_update_stat_ids' : fields.one2many('sync.update.stat.batch','sync_update_stat_batch_id','Update Statistic'),
#'batch_id' : fields.function(_get_filtering_schedule,type='one2many',relation='ir.cron',string='Schedule'),
'batch_id' : fields.one2many('ir.cron','id',string='Schedule')
}
_defaults = {
'batch_id': lambda self, cr, uid, context : self._get_filtering_schedule(cr, uid, [0], '', '', context)[0],
}
你能帮我找到错误的代码吗,我只是在odoo的新手;)
答案 0 :(得分:1)
'batch_id' : fields.one2many('ir.cron','id',string='Schedule')
这是问题
你必须将新的many2one添加到" ir.cron"并使用它代替id
class sync_batch_schedule(osv.osv):
_name = "ir.cron"
_inherit = "ir.cron"
_columns = {
'sync_id': fields.many2one('sync.batch.update','sync_batch_schedule')
}
然后将其用作 ' BATCH_ID' :fields.one2many(' ir.cron',' sync_id',string =' Schedule')