Any one with any ideas on this one?
(been trying to trouble shoot it all morning)

Environment: Version 1.99.4 (2011-12-31 04:51:15)

Getting the following error, and unable to work it out.
(have other areas using soldiform that are working OK)

Traceback (most recent call last):
  File "C:\web2py\gluon\restricted.py", line 204, in restricted
    exec ccode in environment
  File "C:/web2py/applications/tree/controllers/stree.py" 
<http://127.0.0.1:8000/admin/default/edit/tree/controllers/stree.py>, line 310, 
in <module>
  File "C:\web2py\gluon\globals.py", line 172, in <lambda>
    self._caller = lambda f: f()
  File "C:/web2py/applications/tree/controllers/stree.py" 
<http://127.0.0.1:8000/admin/default/edit/tree/controllers/stree.py>, line 302, 
in SV2
    form1 = SOLIDFORM(db.Sample, q1, fields=fields1, readonly=True)
  File "applications\tree\modules\plugin_solidform.py", line 94, in __init__
    SQLFORM.__init__(self, *args, **kwds)
  File "C:\web2py\gluon\sqlhtml.py", line 805, in __init__
    v = record['id']
  File "C:\web2py\gluon\dal.py", line 6532, in __getitem__
    row = self.records[i]

*TypeError: list indices must be integers, not str*


*Model*
db.define_table('Sample',
    Field('Compartment', db.Compartment),
    Field('Date', 'date'),
    Field('Comments'),
    Field('Pb', 'integer'),
    Field('Fe', 'integer'),
    Field('Al', 'integer'),
    Field('Cu', 'integer'),
    Field('Cr', 'integer'),
    Field('Sn', 'integer'),
    Field('Ni', 'integer'),
    Field('Si', 'integer'),
    Field('Na', 'integer'),
    Field('Mg', 'integer'),
    Field('Zn', 'integer'),
    Field('Mo', 'integer'),
    Field('Ca', 'integer'),
    Field('P', 'integer'),
    Field('Bo', 'integer'),
 
    format='%(Date)s %(id)s')

*Controller*
Methods 2 and 3 work, 1 doesn't
*
*
def SV2():
    session.sample = 1
    
    q1 = db(db.Sample.id == session.sample).select()
    #q2 = db.Sample.id == session.sample
    #q3 = db.Sample.id == session.sample
    fields1 = ['Date','Comments','Fe','Cu','Cr']
    #fields3 = ['Date','Comments','Fe','Cu','Cr']
    
    form1 = SOLIDFORM(db.Sample, q1, fields=fields1, readonly=True)
    #form2 = SQLFORM.grid(q2, searchable=False, 
create=False,csv=False,editable=False,deletable=False, sortable=False )
    #form3 = SQLFORM(db.Sample, session.sample, fields=fields3, 
readonly=True)
    
    return dict(form=form1) #does not work
    #return dict(form=form2) #works
    #return dict(form=form3) #works

Reply via email to