zoukankan      html  css  js  c++  java
  • Odoo中如何复制有唯一性约束的记录?

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281393.html 

        如果为模型的字段添加了唯一性约束,那么在记录的form视图功能菜单上选择“复制”时就会报错。

        那么我们要在维持唯一性的前提下,保留复制功能,则只能重写模型的copy方法,在方法中为有唯一性约束的字段添加辨别性内容,使得纪录可以被成功复制(当然,新纪录中唯一性约束的字段时修改后的值,仍然唯一)

     def copy(self, default=None):
            default = dict(default or {})
    
           #统计数据库中已有多少个本纪录的副本
            copied_count = self.search_count(
                [('字段', '=like', u"Copy of {}%".format(self.字段))])
           #为副本中的字段值添加尾部修饰,维持唯一性
           #第一次复制:cpoy of 原字段值
            if not copied_count:
                new_字段 = u"Copy of {}".format(self.字段)
           #第n次复制:copy of 原字段值(次数)
            else:
                new_字段 = u"Copy of {} ({})".format(self.name, copied_count)
            #调用父类复制函数,并把新默认值传入
            default['字段名'] = new_字段
            return super(类名, self).copy(default)
  • 相关阅读:
    eclipse常用快捷键
    Android 布局
    Android UI设计
    Android Context 是什么?
    内部类
    手写单例模式
    上课笔记:移动开发新利器-你好,Flutter
    Android Fragment
    Kotlin语言
    Android虚拟机和类加载机制
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826020.html
Copyright © 2011-2022 走看看