[英]How to show static state values in kanban view Odoo10?
我有state
歸檔,這是一個Selection
字段。 我想在kanban
視圖中根據這個state
字段對記錄進行分組。
這是我的代碼:
* .py
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]
但我收到此錯誤:
> 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
我該如何解決這個問題?
您是否將 default_group_by="state" 放在 xml 文件中,其中看板標簽作為屬性放置。 刪除 group_expand 方法並從字段中刪除屬性,因為它是一個選擇字段,所以您不需要返回 id,只需將屬性 default_group_by="state" 放在 xml 文件中,您就會看到結果。
根據源代碼文檔,在group_expand
中定義的方法應該返回我們想要為該字段顯示的所有聚合值的列表,以 m2o 類對 (key,label) 的形式。
_read_group_fill_results
方法將始終嘗試獲取字段的comodel_name以構建組,並且由於未為選擇字段定義 comodel_name,Odoo 將引發 KeyError KeyError: None
。
不幸的是,從Odoo-11
開始就可以返回將用作組的值列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.