如何从另一个模型的字段中读取值?

2024-09-28 03:13:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我与odoo 10一起工作,创建了一些字段,但存在以下问题:

我在模块中创建了自己的字段(x_order_bestelldatum)销售订单. 当我确认报价时,我在该字段中输入有效订单日期。 现在,当我创建发票时,我想读取模块的x_order_bestelldatum字段销售订单模块内帐户.发票这样我就可以在发票上打印订单日期了。在

如何从模型中读取字段x_order_bestelldatum销售订单在模型中账户.发票?在

这是我的代码模型.py,但不起作用:

from odoo import models, fields, api

class felder_saleorder(models.Model):

    _inherit = 'sale.order'
    x_order_bestelldatum = fields.Date(string="Bestelldatum")


class felder_invoice(models.Model):

    _inherit = 'account.invoice'
    sale_order = fields.Many2one('sale.order','sale_order')
    x_bestelldatum = fields.Date(string="Bestelldatum",related='sale_order.x_order_bestelldatum')
    x_lieferdatum = fields.Date(string="Lieferdatum")

这不起作用(x_bestelldatum字段仍为空):

^{pr2}$

Tags: 模块odoo订单模型fieldsdatestringmodel
2条回答

谢谢你的回答。在

我尝试过一些变体,但仍然不起作用。模块中的“x_bestelldatum”字段帐户.发票'总是空的。在

我的代码是这样的:

class felder_invoice(models.Model):

    _inherit = 'account.invoice'
    x_lieferdatum = fields.Date(string="Lieferdatum")


    sale_order = fields.Many2one('sale.order','sale_order')
    x_bestelldatum = fields.Date(string="Bestelldatum",compute="get_order_date")

    @api.one
    @api.depends('sale_order')
    def get_order_date(self):
    if self.sale_order:
        self.x_bestelldatum = self.sale_order.x_order_bestelldatum

对吗?所有字段都来自'销售订单'已转移到新区域设置字段'销售订单'?在

^{pr2}$

好吧,我们不要按你的方式做,再加上我不明白你是怎么做的。 所以,我建议一些其他可能对你有帮助的可能性。在

首先让我们来谈谈您命名为“sale_order”的销售订单字段。 在销售订单字段中输入数据有两个可能的选项。 1) 一。自动通过python 2) 一。手动从列表中选择。在

如果手动输入数据,应使用onchange函数

@api.onchange('sale_order')
def get_order_date(self):
    if self.sale_order:
        self.x_bestelldatum = self.sale_order.x_order_bestelldatum

如果您是通过python自动输入数据,那么您可以使用monetary或create函数来填充字段。在

创建函数:

^{pr2}$

计算功能:

首先,你需要修改你在py文件中的减速

x_bestelldatum = fields.Date(string="Bestelldatum",compute="get_order_date")

然后您需要为此创建一个计算函数

@api.one
@api.depends('sale_order')
def get_order_date(self):
if self.sale_order:
    self.x_bestelldatum = self.sale_order.x_order_bestelldatum

您可以使用上述函数获取订单日期,并能够在报告/打印中获取其值。 希望有帮助。 干杯!在

相关问题 更多 >

    热门问题