【发布时间】:2017-02-11 00:41:45
【问题描述】:
我有这个从 SQLFORM 方法构建的表单,
flow_step_forms[step.name] = SQLFORM(db.approval_flows_progress_steps,
record=thisstep.id if thisstep is not None else None,
readonly=not __userCanPerformStep(step) or flow_completed)
approval_flows_progress_steps的数据库如下
db.define_table('approval_flows_progress_steps',
Field('flow_progress', 'reference approval_flows_progress'),
Field('flow_step', 'reference approval_flows_steps'),
Field('completed', 'boolean'),
Field('completed_on', 'datetime'),
Field('completed_by', 'reference auth_user'),
Field('notes', 'text', writable = True),
auth.signature
)
字段 notes 被呈现为文本框。
在我分配 SQLFORM 后,有以下代码:
if __userCanPerformStep(step) and not flow_completed:
flow_step_forms[step.name].element('textarea')['_rows'] = 5
我想我可以像 here 那样引用数据库的属性,但我收到以下错误: “NoneType”对象没有“可写”属性
问:如何让特定用户有条件地启用文本框?
【问题讨论】: