我正在尝试在我的一个瞬态模型中的 one2many 字段中创建关于布尔字段 onchange 的记录。
例如。
楷模
class test_model(models.TransientModel):
_name ="test.model"
is_okay = fields.Boolean("Okay?")
lines = fields.One2many("opposite.model","test_id",string="Lines")
@api.onchange('is_okay')
def onchnage_is_okay(self):
ids = []
for l in range(5):
record = self.env['opposite.model'].create({'name':str(l),'test_id':self.id})
ids.append(record.id)
self.lines = [(6,0,ids)]
class opposite_model(models.TransientModel):
_name ="opposite.model"
name = fields.Char("Name")
test_id = fields.Many2one("test.model",string="Test Model")
看法
<record id="view_form" model="ir.ui.view">
<field name="name">view.form</field>
<field name="model">test.model</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Test Model">
<field name="is_okay" />
<field name="lines" />
<footer>
<button name ="click_okay" string="Okay" type="object"/>
</footer>
</form>
</field>
</record>
现在,问题是在检查或取消选中IS_OKAY字段时,它填充了One2many字段中的记录。
那工作正常。
但在我上面的视图中,我有调用该方法的按钮click_okay()
。
例如。
@api.one
def click_okay(self):
print self.lines
所以,打印语句给了我空白记录集。但是,当我更改 is_okay 字段时,我可以在视图中看到 5 条记录。
我不知道如何在方法中获得这些行?
任何回应将不胜感激?