• 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

stock.picking的sale_id无法调用的问题

已定时 已固定 已锁定 已移动 未解决 Odoo 新手求助
1 帖子 1 发布者 186 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • B 离线
    B 离线
    billchen0769
    写于 最后由 编辑
    #1

    from odoo import api, fields, models, _

    class StockPickingInherit(models.Model):
    _inherit = "stock.picking"

    x_partner_ref = fields.Char(string='流水号', compute='_compute_partner_ref', store=True)
    
    
    @api.depends('purchase_id.partner_ref', 'sale_id.x_serial')
    def _compute_partner_ref(self):
        for picking in self:
            if picking.purchase_id:
                picking.x_partner_ref = picking.purchase_id.partner_ref
            elif picking.sale_id:
                picking.x_partner_ref = picking.sale_id.x_serial
            else:
                picking.x_partner_ref = False
    

    在上面代码中会报这个错误:
    ValueError: Wrong @depends on '_compute_partner_ref' (compute method of field stock.picking.x_partner_ref). Dependency field 'sale_id' not found in model stock.picking.
    但是用下面这个方法就没问题:

    @api.depends('purchase_id.partner_ref')
    def _compute_partner_ref(self):
        for picking in self:
            if picking.purchase_id:
                picking.x_partner_ref = picking.purchase_id.partner_ref
            else:
                picking.x_partner_ref = False
    

    是不是在stock.picking中需要扩展sale_id字段?请问应该如何改造?

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。