以下代码来自Odoo 10中的export_stockinfo_xls
。我想知道context.get('active_ids', [])
是什么意思,返回值是什么。为什么我们在该表达式中使用[]
?
@api.multi
def export_xls(self):
context = self._context
datas = {'ids': context.get('active_ids', [])} # what mean this and what return
datas['model'] = 'product.product'
datas['form'] = self.read()[0]
for field in datas['form'].keys():
if isinstance(datas['form'][field], tuple):
datas['form'][field] = datas['form'][field][0]
if context.get('xls_export'):
return {
'type': 'ir.actions.report.xml',
'report_name': 'export_stockinfo_xls.stock_report_xls.xlsx',
'datas': datas,
'name': 'Current Stock'
}
答案 0 :(得分:2)
如果您在树视图中context.get('active_ids', [])
返回已检查元素ID的列表。如果您在表单视图中,则返回您在屏幕上看到的项目的ID。
如果没有元素id,则返回空列表([])。
我希望这能帮到你。
答案 1 :(得分:0)
方法dict.get
用于从字典中获取值。它有一个额外的参数,可以从字典中返回默认值。
dict.get演示:
dictionary = {"message": "Hello, World!"}
print(dictionary.get("message", ""))
print(dictionary.get("message_1111", "No Value")) #Note: "message_1111" not in dictionary.
<强>输出:强>
Hello, World!
No Value
<强> MoreInfo 强>
在你的情况下。
context.get('active_ids', [])
如果'active_ids'
不在上下文中,则返回一个空列表。