Asp.net mvc 如何获取sqlform';web2py中的动态s字段
我的桌子:Asp.net mvc 如何获取sqlform';web2py中的动态s字段,asp.net-mvc,web2py,Asp.net Mvc,Web2py,我的桌子: db.define_table('problem', Field('title','string',unique=True,length=255), Field('description','text',notnull=False,default=''), Field('in_date','datetime',notnull=False,default=request.now),
db.define_table('problem',
Field('title','string',unique=True,length=255),
Field('description','text',notnull=False,default=''),
Field('in_date','datetime',notnull=False,default=request.now),
Field('input','text',notnull=False,default=''),
Field('result','text',notnull=False,default=''),
Field('defresult','text',notnull=False),
Field('submit','integer',notnull=False,default=0),
Field('solved','integer',notnull=False,default=0),
Field('pass_rate','decimal(2,2)',notnull=True,default =0.00),
format = '%(title)s')
通过sqlform在问题表中插入一条记录,动态获取sqlform中问题的结果字段
def test():
user_id=_get_user_id(auth)
id=request.args(0,cast=int)
for row in db(db.belongs.id==id).select():
taskid=row.task_id
problemid=row.problem_id
record=db.problem(problemid) or redirect(URL('index'))
fields=['title','description','input','result']
form=SQLFORM(db.problem,record,readonly=False,fields=fields)
if form.process().accepted:
db(db.problem.id==problemid).update(submit=db.problem.submit+1)
if(form.vars.result==db.problem.defresult):
最后一行我想判断result字段是否等于defresult字段。
即使我在sqlform中输入了另一个值,并且之前插入的值在我重新加载页面后填充了sqlform,form.vars.result似乎也没有改变。如何清除sqlform?谢谢
form.vars.result
不包含新值。问题在于,在form.vars.result==db.problem.defresult
中,您将该值与字段
对象进行比较,而不是与记录中的实际值进行比较。在此之前,您已经:
record=db.problem(problemid)
因此,你的平等测试应该是:
if form.vars.result == record.defresult: