【问题标题】:Condition while creating Product in Module, Odoo在模块中创建产品时的条件,Odoo
【发布时间】:2022-08-02 13:05:14
【问题描述】:

我有一个库存模块。我想在创建数据之前检查数据库。检查参考代码。如果 ref_code 已经存在,则取消创建。

这是我的 .py 文件:

    ref_code = fields.Char(string=\"Referans Numarası: \", required=True, tracking=True,       related=\"products_id.ref_no\")
    #product_name = fields.Char(string=\"Ürün Adı: \", required=True, tracking=True)
    product_description = fields.Char(string=\"Ürün Tanımı: \", tracking=True,)
    teslim_alan = fields.Char(string=\"Teslim Alan: \", required=True, tracking=True,)
    teslim_eden = fields.Char(string=\"Teslim Eden: \", required=True, tracking=True,)
    quantity = fields.Float(string=\"Miktar: \", required=True, tracking=True)
    price = fields.Float(string=\"Fiyat(€): \", required=True, tracking=True, related=\"products_id.unit_price\")
    unit_price = fields.Float(string=\"Birim Fiyat(€): \", compute=\"_unitPriceCalcuteFunc\")
    scrap_quantity = fields.Float(string=\"Hurdaya Taşınacak Miktar: \")

    warehouse_id = fields.Many2one(\'ware.houses\', string=\'Depo Adı: \')
    products_id = fields.Many2one(\'products\', string=\'Ürün: \')

    state = fields.Selection([
        (\'unapproved\', \'Çıkış İçin Onay Verilmedi.\'),
        (\'approved\', \'Çıkış İçin Onay verildi.\')], string=\"Status\", default=\"unapproved\", tracking=True)

    cikis_line_ids = fields.One2many(\'inventory.out.report.lines\', \'inventory_id\', string=\'Çıkış Listesi\')

    @api.model
    def create(self, values):
        global count
        count = 0
        value = self.env[\'inventory.menu\'].search([])
        for record in values:
            for v in value:
                print(v.ref_code, record.ref_code)
                if(v.ref_code == record.ref_code):
                    count += 1
                    return print(\"Zaten Var!\")
        if(count == 0):
            return super(InventoryMenu, self).create(values)

我可以在 db 中找到所有数据。没关系。但是当前数据不存在,我不能使用它。我需要将当前数据与数据库数据进行比较。 我该怎么做?非常感谢..

标签: odoo odoo-14 odoo-15


【解决方案1】:
@api.model
 def create(self, values):
     global count
     count = 0
     value = self.env['inventory.menu'].search([])
     for v in value:
       if(v.ref_code == values['ref_code']):
          count += 1
          return print("Zaten Var!")
     if(count == 0):
        return super(InventoryMenu, self).create(values)
    enter code here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多