Hello,

I define the way to show the id field in crud.read like this :

db.atable.othertablefield_id.represent=\
    lambda value: "%(num)s" %db.v_othertable_num[value]

Placed in model.


v_othertable_num is a database view of the related table because the number are formed of many fields so I concatenated them into a unique number with the view.

The problem is I have a unnormalized table in wich differents id fields as to be (represented), but most of the time only one of them are entered. The app break when crud.read return "None" because a field have been let blank at the seizure. Here is the error :


Traceback(most recent call last):
  File"/version_181-4/web2py/gluon/restricted.py",line178,inrestricted
    execccodeinenvironment
  File"/version_181-4/web2py/applications/app/controllers/default.py"  
</admin/default/edit/GUImdg1/controllers/lotns.py>,line83,in<module>
  File"/version_181-4/web2py/gluon/globals.py",line96,in<lambda>
    self._caller=lambdaf:f()
  File"/version_181-4/web2py/gluon/tools.py",line2192,inf
    returnaction(*a, **b)
  File"/version_181-4/web2py/applications/app/controllers/default.py"  
</admin/default/edit/GUImdg1/controllers/lotns.py>,line36,inread
    request.args[1])
  File"/version_181-4/web2py/gluon/tools.py",line2797,inread
    formstyle=self.settings.formstyle
  File"/version_181-4/web2py/gluon/sqlhtml.py",line687,in__init__
    inp=field.represent(default)
  File"/version_181-4/web2py/applications/app/models/default.py"  
</admin/default/edit/GUImdg1/models/lotns.py>,line224,in<lambda>
    lambdavalue:"%(num)s"%db.v_othertable_num[value]
TypeError:format requires a mapping



I used postgres as dbms backend with postgres sequence formatting style (table_field_id_seq)...

I am not sure what the origin of the error... I don't know how to verify if field are returning None...

Jonhy

Reply via email to