我正在尝试显示模块中也存在的“每分钟价格”字段中存在的值,该模块继承自sale.order,该字段实际上包含非零值,但是我无法显示它在sale.order的order_line字段的表的“ Prim par minutes”列中,我总是在“每分钟价格”列中找到具有空值的字段! 这是我使用的python代码:
#-----------------------------------------------------
class ClassSaleOrder(models.Model):
_inherit = 'sale.order'
ratio = fields.Float(string='Ratio de chutes')
largeur_initial = fields.Float()
longueur_initial = fields.Float()
surface_initiale = fields.Float(compute='SetSurfaceUnitiale', readonly=True)
surface_utile = fields.Float()
matiere = fields.Many2one('module.config2')
procede = fields.Many2one(related='matiere.procede', string='Procede')
epaisseur = fields.Many2one(related='matiere.epaisseur', string='Epaisseur')
prix_par_minute = fields.Float(related='matiere.prix_par_minute', compute='_compute_prix', store=True)
temps_de_decoupes = fields.Integer(compute='SetTempsDeDecoupes', string='Temps de decoupes (min)')
@api.depends('largeur_initial', 'longueur_initial')
def SetSurfaceUnitiale(self):
if (self.largeur_initial != 0 and self.longueur_initial != 0):
self.surface_initiale = self.largeur_initial * self.longueur_initial
@api.depends('order_line.temps_de_decoupe')
def SetTempsDeDecoupes(self):
for record in self:
record.temps_de_decoupes = 0
for line in record.order_line:
record.temps_de_decoupes += line.temps_de_decoupe
#---------------------------------------------
class ClasSaleOrderLine(models.Model):
_inherit = 'sale.order.line'
temps_de_decoupe = fields.Integer(string='Temps de decoupe (min)')
# prix_de_decoupe = fields.Float(string='Prix de decoupe')
prix_de_decoupe = fields.Float(compute='SetPrixDeDecoupe', string='Prix de decoupe')
ref = fields.Many2one('sale.order')
prix_par_minute = fields.Float(related="ref.prix_par_minute")
@api.depends('temps_de_decoupe')
def SetPrixDeDecoupe(self):
for record in self:
record.prix_de_decoupe = 99*record.temps_de_decoupe # OK
# record.prix_de_decoupe = record.prix_par_minute*record.temps_de_decoupe #NO
以下是相关视图的屏幕截图:enter image description here