提前谢谢。
我有什么:
我想:
一个类模块,用户可以在表格中将一个特征与值配对。
最终目标实际上是在同一行中具有该功能的所有值和功能。我不介意我每行只获得一个值,并且需要为每个值输入相同的特征倍数。
我做了什么:
制作一个时间模块,其中我有两个多个变量,每个变量一个(一个用于特征,另一个用于值)
在我的课程模块中创建一个many2many字段并显示它。
我得到了什么:
表格:
当我点击“添加项目”时:
我所知道的:
我想我应该能够轻松地制作我想要的东西,但我试图在我的视图中使用它并不起作用。
我想知道的事情:
如何使many2many字段可编辑,就好像它在树视图中一样?也就是说,当我点击“添加项目”时,会添加一个空行,然后用户可以在停留在表单视图上时填充这些字段。
如果可能的话,我该怎么做才能为同一个功能设置几个值?
代码:
class Classes(models.Model):
_name = 'sync2ba.etim.classes'
name = fields.Char(string="Title", required=True)
code = fields.Char(stCharring="Code")
version = fields.Integer(string="Version")
description = fields.Char(string="Description")
featurecode = fields.Char(string="FeatureCode")
status = fields.Char(string="Status")
groupcode = fields.Char(string="GroupCode")
relationships = fields.Many2many("sync2ba.etim.relationships", string="Features")
class Relationships(models.Model):
_name = 'sync2ba.etim.relationships'
name = fields.Char(string="Title", required=True)
relationships_features = fields.Many2one("sync2ba.etim.features", ondelete='set null', string="relationships_features", index=True)
relationships_value = fields.Many2one("sync2ba.etim.values", ondelete='set null', string="relationships_value", index=True)
class Features(models.Model):
_name = 'sync2ba.etim.features'
name = fields.Char(string="Title", required=True)
code = fields.Char(string="Code")
description = fields.Char(string="Description")
type = fields.Char(string="Type")
class Values(models.Model):
_name = 'sync2ba.etim.values'
name = fields.Char(string="Title", required=True)
code = fields.Char(string="Code")
description = fields.Char(string="Description")
答案 0 :(得分:1)
我不知道它是否会起作用我需要你想要的one2many字段的反转,因为当你点击添加项目时,添加一个空行的one2many字段。
在你看来
<field name="your_m2m_field" widget="one2many" />
为了将o2m的行为改为m2m,希望它也适合你
编辑:
不要忘记首先使树视图可编辑,它可以工作而不必更改小部件
<field name="your_m2m_field" >
<tree editable="bottom">
your list of fields here
我在手机上抱歉少了代码
编辑:
如果你没有找到一个简单的方法来做你需要做的就是many2many字段最终它会在你的两个模型之间创建一个关系表,只需创建这个关系作为模型并将两个many2one字段放到你的模型中将many2many字段更改为one2many到新模型,这样你就做了很多很多人做的事情。希望你明白这个想法
答案 1 :(得分:0)
修改视图文件,如下所示:
<label for="relationships"/>
<field name="relationships" widget="one2many">
<tree editable="bottom">
<field name="relationships_features"/>
<field name="relationships_value"/>
</tree>
</field>
使Classes视图看起来像这样:
这比我预期的要好。检查评论以查看推理。