web2py SQL行中的异常

0 投票
1 回答
603 浏览
提问于 2025-04-15 17:39

当我运行以下代码时:

family_members =db(db.member.id == membership_id).select
(db.member.name,db.member.id)
family_members.colnames = ('Name','Membership ID')

它出现了以下错误...

Traceback (most recent call last):
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
restricted.py", line 184, in restricted
  File "/home/abeer/Desktop/resources/web2py/New_version/web2py_src/
web2py/applications/init/views/default/updateMember.html", line 142,
in <module>
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
globals.py", line 112, in write
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
html.py", line 103, in xmlescape
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
sql.py", line 3326, in xml
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
sqlhtml.py", line 980, in __init__
  File "/home/abeer/Desktop/web2py/New_version/web2py_src/web2py/gluon/
sql.py", line 621, in __getattr__
  KeyError: '_extra'

附注:当我把这一行 (family_members.colnames = ('Name','Membership ID')) 注释掉时,代码就能正常运行,但我不明白为什么。

1 个回答

0

不要使用 colnames。这个属性是 web2py 内部使用的。你可以用 db.table.field.label='..' 或者 SQLTABLE(rows, headers={...}),具体用哪个要看你的需求。

撰写回答