gpt4 book ai didi

python - 如何为多对多关系(OpenERP7)添加和显示一些属性?

转载 作者:行者123 更新时间:2023-11-28 20:21:47 24 4
gpt4 key购买 nike

这是一个棘手的问题。

我正在尝试将一些字段添加到 many2many 表中。我在谷歌上搜索,发现我必须创建一个中间表来存储这些字段。但效果不是很好。

我的例子:我创建了一个表 (training_course)。一个伙伴可以参加很多training_course,一个training_course是由很多伙伴组成的(所以,这是一个ma​​ny2many关系)。我必须存储伙伴加入类(class)的日期。

所以,在合作伙伴表单中,我必须看到他参加的类(class)列表,每个人都有他们的日期。

我的代码是:

res_partner_course_rel(这是我生成的中间类-with name = 'res.partner.course.rel'-)

 _columns = {
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade'),
'course_id': fields.many2one('training.course', 'Course', ondelete='cascade'),
'date': fields.date('Joining date'),
}

res_partner

 _columns = {
'courses': fields.many2many('res.partner.course.rel', id1='partner_id', id2='partner_course_rel_id', string='Courses'),
}

我遇到的问题是:

  • 在合作伙伴表单中,当我点击添加新记录时结果列表,我不得不选择合作伙伴(这是无稽之谈,因为它必须是当前的)。
  • 结果列表只显示一列(合作伙伴),而我想喜欢显示两个(类(class)日期)。

有人可以帮我一下吗?我正在尝试几件事,但我无法满足我的需要。

最佳答案

如果一门类(class)可以有多个日期(而不是只有一个),那么您可以定义 3 个表(忘记多对多关系):

partner_course_rel (.py)(你没问题)

_columns = {
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade'),
'course_id': fields.many2one('training.course', 'Course', ondelete='cascade'),
'date': fields.date('Joining date'),
}

_sql_constraints = [
('rel_unique', 'unique(partner_id, course_id, date)', 'This course already give to this company!!'),
]

training_course (.py)

_columns = {
'name': fields.char('Name'),
'partner_rel_ids': fields.one2many('partner_course_rel', 'course_id'),
}

res_partner (.py)

_columns = {
'course_rel_ids': fields.one2many('partner_course_rel', 'partner_id'),
}

在 View 中:

training_course (.xml)

<field name="partner_rel_ids" nolabel="1">
<tree string="Partners" editable="bottom">
<field name="date"/>
<field name="partner_id"/>
</tree>
</field>

res_partner (.xml)

<field name="course_rel_ids" nolabel="1">
<tree string="Courses" editable="bottom">
<field name="date"/>
<field name="course_id"/>
</tree>
</field>

我认为这可以解决您的问题(如果一个类(class)可以有多个日期)。

关于python - 如何为多对多关系(OpenERP7)添加和显示一些属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com