首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在看板视图Odoo10中显示静态值?

如何在看板视图Odoo10中显示静态值?
EN

Stack Overflow用户
提问于 2020-08-03 06:46:47
回答 2查看 397关注 0票数 1

我有state字段,这是一个Selection字段。我想根据这个state字段在kanban视图中对记录进行分组。

这是我的代码:

*.py

代码语言:javascript
复制
  state = fields.Selection([('draft','Draft'),('process','Processing')
        ,('intransit','In-transit'),('done','Delivered'),('cancel','Canceled')],
        default="draft",string="Status", track_visibility="onchange",
        group_expand='_expand_states',index=True)

  @api.model
  def _expand_states(self, states, domain, order):
      return [key for key, val in type(self).state.selection]

但是我发现了一个错误:

代码语言:javascript
复制
> Traceback (most recent call last):
  File "/home/user/Projects/odoo-10/odoo/http.py", line 642, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/user/Projects/odoo-10/odoo/http.py", line 684, in dispatch
    result = self._call_function(**self.params)
  File "/home/user/Projects/odoo-10/odoo/http.py", line 334, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/user/Projects/odoo-10/odoo/service/model.py", line 101, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/user/Projects/odoo-10/odoo/http.py", line 327, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/user/Projects/odoo-10/odoo/http.py", line 942, in __call__
    return self.method(*args, **kw)
  File "/home/user/Projects/odoo-10/odoo/http.py", line 507, in response_wrap
    response = f(*args, **kw)
  File "/home/user/Projects/odoo-10/odoo/addons/web/controllers/main.py", line 895, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/user/Projects/odoo-10/odoo/addons/web/controllers/main.py", line 887, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/user/Projects/odoo-10/odoo/api.py", line 687, in call_kw
    return call_kw_model(method, model, args, kwargs)
  File "/home/user/Projects/odoo-10/odoo/api.py", line 672, in call_kw_model
    result = method(recs, *args, **kwargs)
  File "/home/user/Projects/odoo-10/odoo/models.py", line 1939, in read_group
    result = self._read_group_raw(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)
  File "/home/user/Projects/odoo-10/odoo/models.py", line 2052, in _read_group_raw
    aggregated_fields, count_field, result, read_group_order=order,
  File "/home/user/Projects/odoo-10/odoo/models.py", line 1680, in _read_group_fill_results
    groups = self.env[field.comodel_name].browse(group_ids)
  File "/home/user/Projects/odoo-10/odoo/api.py", line 760, in __getitem__
    return self.registry[model_name]._browse((), self)
  File "/home/user/Projects/odoo-10/odoo/modules/registry.py", line 177, in __getitem__
    return self.models[model_name]
KeyError: None

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2020-08-03 08:12:11

您是否将default_group_by="state“放置在xml文件中,其中kanban标记作为属性放置。删除group_expand方法并从字段中删除属性,因为它是一个选择字段,因此您不需要返回in,只需将属性default_group_by="state“放置在xml文件中,您就会看到结果。

票数 0
EN

Stack Overflow用户

发布于 2020-08-03 20:48:20

根据源代码文档,在group_expand中定义的方法应该以m2o类对(key,label)的形式返回我们希望为该字段显示的所有聚合值的列表。

_read_group_fill_results方法总是尝试获取字段的名字来构建组,而且由于没有为选择字段定义comodel_name,Odoo将引发KeyError: None

不幸的是,返回将作为组使用的值列表Odoo-11之后是可用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63224891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档