美文网首页
Odoo 的一些写法

Odoo 的一些写法

作者: 仅此而已004 | 来源:发表于2016-01-07 11:00 被阅读1497次

http://blog.carllhw.com/2015/10/18/odoo-install/

在高级搜索,中隐藏字段

def fields_get(self, cr, uid, fields=None, context=None):

                    fields_to_hide = ['period_id','audit','status','stock_move_lines']

                     res =super(HrpStockMove,self).fields_get(cr, uid, fields, context)

                     for   field  in    fields_to_hide:

                                res[field]['selectable'] =False

                       return  res

新老写法转换,例1:

老写法

def move_quants_write(self, cr, uid, quants, move, location_dest_id, dest_package_id, context=None):    
            context=context or {}   
            vals = {'location_id': location_dest_id.id,'history_ids': [(4, move.id)],'reservation_id': False}
            if not context.get('entire_pack'):
                    vals.update({'package_id': dest_package_id})
            self.write(cr, SUPERUSER_ID, [q.id for q in quants], vals, context=context)

新写法

def move_quants_write(self,quants, move, location_dest_id, dest_package_id):
    context=self.env.context or {}
    vals = {'location_id': location_dest_id.id,
                'history_ids': [(4, move.id)],
                'reservation_id': False}
    if not context.get('entire_pack'):
        vals.update({'package_id': dest_package_id})
    for quant in quants:
        quant.sudo().write(vals)
    if not(move.product_id.type == 'consu' and context.get('flag')):
        if move.product_id.valuation == 'real_time':
            self._account_entry_move(quants, move)
Paste_Image.png
  1. 有可能是之前的表被意外删除
  2. 有可能是之前继承了一个表,在后面的操作中没有继续继承。

Many2one 字段添加default 和 compute 方法。

    def _default_company_id(self):
        res = self.env['res.company'].search([])
        if len(res.ids) == 1:
            return res and res[0]
        else:
            return False

    company_id = fields.Many2one(comodel_name='res.company', string='Company Name', help='Company Name', required="1",
                                 default=_default_company_id)

动态改变domain

@api.onchange('asset_id')
def filter_asset_id(self):    
  return {'domain': {'asset_id': [('id', 'not in', self.env.context['active_ids'])]}}

相关文章

  • Odoo 的一些写法

    http://blog.carllhw.com/2015/10/18/odoo-install/ 在高级搜索,中隐...

  • Odoo外键约束

    Odoo 的模型关联是直接使用postgresql数据库的表外键。Odoo的写法如下: 其中ondelete属性值...

  • 从Odoo11到Odoo12

    记录odoo11到odoo12的一些变化,供参考 表单模型变化 框架变化 odoo12会检查对象定义,没有写_de...

  • Odoo的对象都有哪些预定义方法

    Odoo的对象都有哪些预定义方法 以下内容仅针对 <= Odoo 8.0 版本: 每个OpenERP的对象都有一些...

  • Odoo(OpenERP)学习资源

    Odoo官方Odoo官网 https://www.odoo.com/Odoo源码 https://github.c...

  • Podfile文件书写

    最基本写法 普遍写法 一些依赖写法

  • odoo 设置新建用户的默认权限、语言及时区

    在odoo中,可以给用户设置默认的一些东西(权限、语言、时区及其他),故odoo在用户表里设置了新建用户模板 (D...

  • odoo 11正式发布

    odoo 8 重写了仓库,odoo 9 重写了财务, odoo 10 重写了生产,那么odoo 11 为我们带来了...

  • Odoo配置文件

    Odoo配置文件odoo.conf 源码中默认配置文件目录在 odoo/debian/odoo.conf; adm...

  • 目录

    第一章 Odoo12 环境配置 Odoo的社区版和企业版 从Odoo Online开始 利用Odoo Online...

网友评论

      本文标题:Odoo 的一些写法

      本文链接:https://www.haomeiwen.com/subject/qmjfkttx.html