В hr
приложении поле category_ids
было определено так:
category_ids = fields.Many2many(
'hr.employee.category', 'employee_category_rel',
'emp_id', 'category_id',
string='Tags')
они указали имя relation
и columns
, поэтому, когда он унаследовал hr.employee
в вашем пользовательском В модели используется то же определение category_ids
, что и для вашей модели, поэтому Odoo смущен: вы использовали те же relation
и columns
, чтобы определить many2many relation
для двух разных моделей . все, что вам нужно сделать, это удалить эту двусмысленность , указав новое имя отношения для вас many2many
поле.
class school_management(models.Model):
_name = 'school.student'
_inherit = 'hr.employee'
_description = 'student' # this will be used to log message when you create a student, so keep it simple, when you create a record message will be 'student is created'
# define new relation name and better column names
# and I think you need a new category model because this one is used for employee category, may be it's better to create hr.student.category table I don't know it's up to you
category_ids = fields.Many2many(
'hr.employee.category', 'student_category_rel',
'student_id', 'category_id',
string='Tags')
Надеюсь, это поможет вам.