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)
  • 相关阅读:
    编程经验
    GIS业务逻辑
    算法逻辑
    js中arguments的作用
    C#基础及记忆概念
    POI创建Excle
    数据库元数据分析Demo
    c3p0写连接池 Demo
    dbutils的使用Demo
    dbcp写连接池 Demo
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826020.html
Copyright © 2011-2022 走看看