python - 查找特定 res.partner 位置的产品数量 - Odoo v8

标签 python odoo odoo-8

我正在尝试在指定的合作伙伴位置中查找产品的 qty_available,我有三个 Many2one 字段到 res.partner ,

    printer_book_block = fields.Many2one('res.partner', string="Printer Book Block")
    printer_binding = fields.Many2one('res.partner', string="Printer Binding")
    printer_edging = fields.Many2one('res.partner', string="Printer Edging")

因此,在此模型的基础上,我应该寻找这些数量,具体取决于选择的 res.partner Many2one:

    order_lines = fields.One2many('bsi.print.order.lines', 'print_order', string="Order lines")

    @api.multi
    @api.constrains('order_lines', 'order_lines.isbn')
    def check_quantity(self):
        location = self.printer_book_block.property_stock_supplier.id
        for rec in self:
            if rec.order_lines:
                for line in rec.order_lines:
                    if line.qty > line.isbn.qty_available in location:
                        rec.write({'state': 'awaitingraw'})
                    else:
                        rec.write({'state': 'work_in_progress',},)

此方法应该在 printer_book_block.property_stock_supplier 上查找 qty_available,但它似乎并没有真正查找该特定位置。

字段 property_stock_supplierres.partner 模型的一部分,它指定系统上作为供应商的每个合作伙伴的位置。

此外,我如何指定是否已选择一个 res.partner 来专门查找它?

有什么想法吗?

PS = isbnproduct.productMany2one

最佳答案

您可以告诉 odoo 进行计算,您可以在上下文中指定位置或仓库:

  if line.qty > line.isbn.with_context({
                     'location' : location, # here id must be an integer not object
                     # 'warehouse': warehouse_id, # integer value 
                }).qty_available >= 0: 

关于python - 查找特定 res.partner 位置的产品数量 - Odoo v8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47372731/

相关文章:

javascript - 如何更改 Odoo 8 向导的宽度?

jquery - 无法通过 Selenium 中的多种方法点击隐藏项目,

xml - 如何在Odoo中自定义 TreeView 的求和函数?

Odoo v9.0 中不显示图像

python - OpenERP 立即创建和编写方法

python - Odoo 可以跟踪计算字段的变化

python - 两张图,两条轴,一张图……难倒了。

python - 插入排序两种不同实现方式的效率分析

python - ResultSet 对象没有属性 'find_all'

odoo-8 - 保护不适用于 api.constrains