从父字段获取值 - 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
的关系来获取 f3
和 f4
,因此您不必存储它。 (当然可以,如果你在关系字段定义中带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')
现在您有两个字段(f3
和 f4
),很容易在您的表单上显示它们。
编辑(问题已更改)
TL;DR: 不能在方法中定义字段。
我知道这只是一个逻辑字段,但您的代码是对关系模型的一般更改。如果你能做到这一点,那就意味着你可以即时更改数据库模式。所以有时地址字段存在一次,有时不存在……但是当它不存在时,它会将先前加载的数据擦除到该字段中。这可能会带来巨大的不一致风险。
我在表单中有 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
的关系来获取 f3
和 f4
,因此您不必存储它。 (当然可以,如果你在关系字段定义中带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')
现在您有两个字段(f3
和 f4
),很容易在您的表单上显示它们。
编辑(问题已更改)
TL;DR: 不能在方法中定义字段。
我知道这只是一个逻辑字段,但您的代码是对关系模型的一般更改。如果你能做到这一点,那就意味着你可以即时更改数据库模式。所以有时地址字段存在一次,有时不存在……但是当它不存在时,它会将先前加载的数据擦除到该字段中。这可能会带来巨大的不一致风险。