为什么在我使用 sqlform.grid 时 request.vars 添加了一个具有空值的附加键 "records"?

why request.vars are added an additional key "records" with null value when I used the sqlform.grid?

我的web2py版本是2.14.6。

我在myview.html

中定义了一个表单
   `<form action="{{=URL('default','sj_xxxx')}}" method='get'>
    <input id='shizhou' name='shizhou'>
    <input id='xianqu' name='xianqu'>
    <input id='xiangzhen' name='xiangzhen'>
    <input type="submit" value="query">
    </form>` 

在我的默认控制器函数 'index' 中,我想处理从 html.It 传递的 request.vars 工作正常。然后我向我的函数添加一个 form=SQLFORM.grid(query),我发现 request.vars 在执行 sqlform.grid() 行时添加了一个具有空值的附加键 "records"。所以我调试源代码,我发现 sqlhtml.py 中的第 2479 行是

elif not request.vars.records: request.vars.records = []

在上述行执行后,我的 request.vars 添加了一个具有空值的附加键 "records"。我的问题是,

1.How 我可以阻止将 "record" 密钥添加到我的 request.vars 吗?

2.What代码的目的

elif not request.vars.records: request.vars.records = []

网格可以选择包含一列复选框以允许选择单个记录,完成后,所选记录的 ID 将存储在 request.vars.records(以及 request.post_vars.records ,因为选择是通过 POST 请求提交的)。

您可以通过通常的方式删除 records 密钥:

del request.vars.records

request.vars.pop('records')

但是,您可以通过 request.get_vars 仅访问自定义表单中的变量,而不是这样做,因为您的表单是通过 GET 请求提交的。