python - AttributeError: 'list' 对象没有属性 'get' odoo
问题描述
我有一个模型,其中包含:名称,组我从第 1 组到第 9 组然后在另一个模型中我从模型一创建 many2one:
request_l = fields.Many2one('model.one',
string='Model Name',
required=True,
store=True)
然后我创建函数来根据 request_l 的选择填充选择
@api.model
@api.onchange('request_l')
def _populate_choice(self):
choices = [
]
if self.requst_l.group == 'g1':
choices += [('user', 'User'), ('manager', 'Manager')]
return choices
type_g = fields.Selection(string='Type', selection=_populate_choice, default='', store=True, )
但它在这一行显示错误:
如果 self.requst_l.group == 'g1':
if res.get('value'):
AttributeError: 'list' object has no attribute 'get'
解决方案
res
变量是一个list
。由于list
它没有get
内置方法。您可以使用整数下标访问其内容:
print(str(res[0]))
您正在尝试访问其数据,就好像它是一个dict
. 但事实并非如此。如果您有 IDE 和 DEBUGGER,则可以检查res
IDE 中的内容。
推荐阅读
- ios - 如何在没有奇怪动画的情况下关闭 2 个模态视图控制器
- python - 使用 Python 抓取源页面
- docker - 具有裸机的 Kubernetes 有状态应用程序
- typescript - 如何正确使用泛型?
- javascript - 如何根据字符串解析复杂的对象和数组
- reactjs - 是否可以在安装时打开 React-Select 组件?
- php - Dialogflow PHP 休息 api
- python - 如何使用从 YAML 文件中检索到的 utf-8 文件名用于 os.path.isdir()?
- javascript - 过去的日期没有隐藏在日期选择器中?
- c# - GetMethod 返回 null c#