Skip to Content
Menu
This question has been flagged
1 Reply
1736 Views

this is a transient.model.


def academic_program(self):

    context = dict(self._context)

    program_id = self.env['cms.academic.program'].search([('program_level', '=',             context.get('default_program_level_id'))])

    return {'domain': {'program_template_id': [('program_level', '=', program_id.id)]}}



program_template_id = fields.Many2one('cms.academic.program', 'Scheme of Study', default=academic_program)


ValueError: Invalid field 'domain' on model 'cms.academic.program'


Avatar
Discard
Best Answer

Hi,

Please try to do this method using the field on change

@api.onchange('program_template_id')
def academic_program(self):
context = dict(self._context)
program_id = self.env['cms.academic.program'].search([('program_level', '=', context.get('default_program_level_id'))])
return {'domain': {'program_template_id': [('program_level', '=', program_id.id)]}}


program_template_id = fields.Many2one('cms.academic.program', 'Scheme of Study')

or you can try this

def academic_program(self):
context = dict(self._context)
program_id = self.env['cms.academic.program'].search(
[(
'program_level', '=', context.get('default_program_level_id'))])
return {'domain': {'program_template_id': [('program_level', '=', program_id.id)]}}

program_template_id = fields.Many2one('cms.academic.program', 'Scheme of Study',
default=lambda self: self.academic_program())

Regards

Avatar
Discard