如何在odoo-8中使用相关字段(fields.related)?
How to use related fields (fields.related) in odoo-8?
我正在尝试从 res_partner 检索评论字段(客户内部注释)到帐户发票 module.Right 现在我只想稍后打印它 我将把它包含在 xml 代码中.我尝试了三种方式,
1)comment2 = fields.Char(string='Comment',related='res_partner.comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment2
2)comment = fields.Many2one('res.partner','Comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment
3)partner_comment = fields.Char(compute='_compute_com')
@api.multi
def _compute_com(self):
Comment = self.env['res.partner'].browse(partner_id).comment
print Comment
在 odoo8
如果需要与 related 相同的对象字段,则可以使用 related="related field name " 使用 store=True
comment2 = fields.Char(string='comment',related='comment', store=True)
您应该改用相关字段:
comment = fields.Char(related='partner_id.comment')
如果您需要将其存储在您的 account_invoice 记录中,您还需要添加参数 store=True
问题是,这样你不能只打印它,但如果你需要显示它,你需要把它放在你的视图中。
如果你真的需要临时打印它,你需要用其他方式来做:
comment = fields.Char(compute='_compute_comment')
def _compute_comment(self):
for record in self:
record.comment = partner_id.comment
print record.comment
相关领域
不再有 fields.related 个字段。
相反,您只需设置与您的模型相关的名称参数:
participant_nick = fields.Char(string='Nick name',
related='partner_id.name')
不再需要类型 kwarg。
设置 store kwarg 会自动将值存储在数据库中。使用新的 API 相关字段的值将自动更新,sweet.
participant_nick = fields.Char(string='Nick name',
store=True,
related='partner_id.name')
Note
When updating any related field not all translations of related field
are translated if field is stored!!
链上相关字段修改会触发链上所有元素缓存失效
小心,你必须使用相同类型的字段 !!
(我遇到了 Selection 和 Char 的问题......所以我必须使用 Selection with Selection)
我正在尝试从 res_partner 检索评论字段(客户内部注释)到帐户发票 module.Right 现在我只想稍后打印它 我将把它包含在 xml 代码中.我尝试了三种方式,
1)comment2 = fields.Char(string='Comment',related='res_partner.comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment2
2)comment = fields.Many2one('res.partner','Comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment
3)partner_comment = fields.Char(compute='_compute_com')
@api.multi
def _compute_com(self):
Comment = self.env['res.partner'].browse(partner_id).comment
print Comment
在 odoo8
如果需要与 related 相同的对象字段,则可以使用 related="related field name " 使用 store=True
comment2 = fields.Char(string='comment',related='comment', store=True)
您应该改用相关字段:
comment = fields.Char(related='partner_id.comment')
如果您需要将其存储在您的 account_invoice 记录中,您还需要添加参数 store=True 问题是,这样你不能只打印它,但如果你需要显示它,你需要把它放在你的视图中。
如果你真的需要临时打印它,你需要用其他方式来做:
comment = fields.Char(compute='_compute_comment')
def _compute_comment(self):
for record in self:
record.comment = partner_id.comment
print record.comment
相关领域
不再有 fields.related 个字段。
相反,您只需设置与您的模型相关的名称参数:
participant_nick = fields.Char(string='Nick name',
related='partner_id.name')
不再需要类型 kwarg。
设置 store kwarg 会自动将值存储在数据库中。使用新的 API 相关字段的值将自动更新,sweet.
participant_nick = fields.Char(string='Nick name',
store=True,
related='partner_id.name')
Note
When updating any related field not all translations of related field are translated if field is stored!!
链上相关字段修改会触发链上所有元素缓存失效
小心,你必须使用相同类型的字段 !!
(我遇到了 Selection 和 Char 的问题......所以我必须使用 Selection with Selection)