【问题标题】:odoo 8 remove sum of total in group byodoo 8删除组中的总和
【发布时间】:2022-09-25 22:35:19
【问题描述】:

我正在使用 odoo 8,我想删除 group by 中的总数。这是我的 .py

class report_sales_weekly(osv.osv):
_name = \"report.sales.weekly\"
_description = \"report sales weekly\"

_columns = {
            \'div_target_monthly\':fields.float(\'Div Target\'),
            \'div_achievement\':fields.float(\'Div Achievement\'),
            }
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False):
    if \'div_target_monthly\' in fields:
        fields.remove(\'div_target_monthly\')
    return super(report_sales_weekly, self).read_group(cr, uid, domain, fields, groupby, offset, limit=limit, context=context, orderby=orderby)
report_sales_weekly()  

我从https://www.odoo.com/forum/help-1/how-to-remove-sum-of-total-in-group-by-29666 找到了这个脚本,但是当我在列表页面中进行分组时出现错误

TypeError: read_group() got an unexpected keyword argument \'lazy\'

请问有什么帮助吗?谢谢

    标签: odoo odoo-8


    【解决方案1】:

    链接中的答案是openerp-7

    Odoo 8 定义了一个可选参数lazy,您可以在帐户模块中找到一个关于如何覆盖read_group 函数的示例:

    def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=True):
        # Your code
        return super(account_entries_report, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby, lazy)
    
    

    【讨论】:

      【解决方案2】:

      您在这里有两个错误:没有 offset= 调用的 offset 和 Odoo 8 的基本 read_group 的错误定义。

      你能试试这个:

      class report_sales_weekly(osv.osv):
          _name = "report.sales.weekly"
          _description = "report sales weekly"
      
          _columns = {
                  'div_target_monthly':fields.float('Div Target'),
                  'div_achievement':fields.float('Div Achievement'),
                  }
          def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=False):
              if 'div_target_monthly' in fields:
                  fields.remove('div_target_monthly')
              return super(report_sales_weekly, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby, lazy=lazy)
              # As stated in the comments, you can also not put offset=offset etc. but just the variables offset, limit, ... Thanks @Kenly
      # Also, why this line ? 
      # report_sales_weekly()
      

      让我更新:)

      【讨论】:

      • 无需使用offset= 调用该函数
      • IMO总是最好用所有参数调用函数而不改变默认行为,并保留位置/关键字参数?
      • 你的回答说这是一个错误。您可以在account 模块中找到示例
      • 谢谢@Kenly!这是我脑海中的一些坏习惯:) 编辑答案告诉它可以这样做
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多