从父字段获取值 - Odoo10

Get values from a parent field - Odoo10

我在表单中有 2 个字段 F1 和 F2。字段 F1 是一个弹出窗口。弹出时它还有 2 个字段 F3 和 F4。我需要访问存储在 F3 中的值并将其存储在 F2 中。

附加图片可能有助于理解工作流程。 Click to view this image

下面是我的问题的更多详细信息

这是我试过的。

class JobJob(models.Model):
    _name='job.job'
    address = field.Char('Address')


Class Dailylog(models.Model):
    job_id = fields.Many2one('job.job', 'Job')
    def check(self):
        address = fileds.Char(related='job_id.address')

如果我答对了你的问题,你想使用关系字段。 在我的代码中,您使用与 MyModel 的关系来获取 f3f4,因此您不必存储它。 (当然可以,如果你在关系字段定义中带store=True,当你不存储它时,你不能在那个字段中搜索。)

class MyModel(models.Model):
    _name = 'my.model'

    f3 = fields.Char(string='F3')
    f4 = fields.Char(string='F4')

class MyOtherModel(models.Model):
    _name = 'my.other.model'

    f1 = fields.Many2one('my.model', 'F1')
    f2 = fields.Char('F2')
    f3 = fields.Char(related='f1.f3')
    f4 = fields.Char(related='f1.f4')

现在您有两个字段(f3f4),很容易在您的表单上显示它们。

编辑问题已更改

TL;DR: 不能在方法中定义字段。

我知道这只是一个逻辑字段,但您的代码是对关系模型的一般更改。如果你能做到这一点,那就意味着你可以即时更改数据库模式。所以有时地址字段存在一次,有时不存在……但是当它不存在时,它会将先前加载的数据擦除到该字段中。这可能会带来巨大的不一致风险。