Python 3.x 在odoo中,除了_rec_name之外,我是否可以将多个一个关系与特定字段关联

Python 3.x 在odoo中,除了_rec_name之外,我是否可以将多个一个关系与特定字段关联,python-3.x,odoo,erp,odoo-12,Python 3.x,Odoo,Erp,Odoo 12,在这里,我需要学院模型中的课程名称,而不是课程id。我尝试了“fields.manyOne('module2\u course.course\u name',“String”)”,但它没有显示名称表。请尝试以下方法: class College(models.Model): _name = 'module2_college' _description = 'College Info' _rec_name = 'clg_name' clg_name = fields.Char("College")

在这里,我需要学院模型中的课程名称,而不是课程id。我尝试了“fields.manyOne('module2\u course.course\u name',“String”)”,但它没有显示名称表。

请尝试以下方法:

class College(models.Model):
_name = 'module2_college'
_description = 'College Info'
_rec_name = 'clg_name'
clg_name = fields.Char("College")
stream = fields.Many2one('module2_course',"Course")

class Course(models.Model):
_name = 'module2_course'
_description = 'Course Information'
_rec_name = 'course_id'

course_name = fields.Selection([
    ('1', 'BTECH'),
    ('2', 'MTECH'),
    ('3', 'MCA')
],"Stream")
course_id = fields.Char("Course ID")

semester = fields.One2many('module2_semester','cou_id',"Semesters",required=True)

相关字段的工作方式与其他字段相同,但在后台是通用的计算字段。只需使用与相关字段相同的字段类型定义这些字段

在您的情况下,它将是:

course\u name=字段。选择(选择=[
('1','b技术'),
('2','MTECH'),
(‘3’、‘MCA’)
],related=“stream.course\u name”)

你应该试着遵守规则。例如,
course\u id
坚持它,但是
stream
没有。它应该被命名为
stream\u id
或更好的名称(但可能与上下文无关)
course\u id

相关字段使用字段引用本身工作。。因为您的代码引用的是objectname.field\u name,这将不起作用。所以它应该是field_name。field_name

尝试过但得到了断言Error:field With Selection在我的脑海中有这个想法,但很久没有做过这样一个相关的字段了。您已在相关字段中将该选择再次设置为相同的选择。我将稍后编辑我的答案。我如何将其与不同的选择字段关联如果我想要相同的答案我现在编辑了我的答案,您只需要复制选择。您还可以使用返回选择的方法,这样会更易于维护。
course_name = fields.Selection(related=stream.course_name)