This line here: ('ERROR','23502', 'null value in column "aboutid" violates not-null constraint')
it seems that you have set a validator to one of the hidden fields, and since it doesn't seem to a have a default value either, then it's value on submit is null and therefore rejected... could you show the table definition? > In a function I have the following line of code: > > form=crud.update(table=db.aboutText,hidden=dict(nodeID=id,aboutID=HOMEABOUTID),record=row,next=session.crud_next,deletable=True) > > In the view the hidden fields are rendered correctly: > > <input type="hidden" value="11" name="nodeID"> > <input type="hidden" value="1" name="aboutID"> > > When I submit the form I get the following error: > > Ticket ID > > 127.0.0.1.2012-11-22.16-10-08.6c149a65-a3aa-43b5-b417-a44fe61ce122 > <class 'gluon.contrib.pg8000.errors.ProgrammingError'> ('ERROR', > '23502', 'null value in column "aboutid" violates not-null > constraint') Version web2py™ (2, 2, 1, datetime.datetime(2012, 10, > 21, 16, 57, 4), 'stable') Python Python 2.7.1: > /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python > > Traceback > > 1. > 2. > 3. > 4. > 5. > 6. > 7. > 8. > 9. > 10. > 11. > 12. > 13. > 14. > 15. > 16. > 17. > 18. > 19. > 20. > > Traceback (most recent call last): > File "/Users/annet/web2py/gluon/restricted.py", line 212, in > restricted exec ccode in environment > File "/Users/annet/web2py/applications/init/controllers/cmssite.py" > <http://127.0.0.1:8000/admin/edit/init/controllers/cmssite.py>, line > 417, in <module> File "/Users/annet/web2py/gluon/globals.py", line > 188, in <lambda> self._caller = lambda f: f() File > "/Users/annet/web2py/gluon/tools.py", line 2912, in f return > action(*a, **b) File > "/Users/annet/web2py/applications/init/controllers/cmssite.py" > <http://127.0.0.1:8000/admin/edit/init/controllers/cmssite.py>, line > 239, in homePage > form=crud.update(table=db.aboutText,hidden=dict(nodeID=id,aboutID=HOMEABOUTID),record=row,next=session.crud_next,deletable=True) > File "/Users/annet/web2py/gluon/tools.py", line 3511, in update > detect_record_change=self.settings.detect_record_change): File > "/Users/annet/web2py/gluon/sqlhtml.py", line 1475, in accepts > self.vars.id = self.table.insert(**fields) File > "/Users/annet/web2py/gluon/dal.py", line 7806, in insert ret = > self._db._adapter.insert(self,self._listify(fields)) File > "/Users/annet/web2py/gluon/dal.py", line 1161, in insert raise e > ProgrammingError: ('ERROR', '23502', 'null value in column "aboutid" > violates not-null constraint') > > Error snapshot [image: help] > > <class 'gluon.contrib.pg8000.errors.ProgrammingError'>(('ERROR', > '23502', 'null value in column "aboutid" violates not-null > constraint')) > > inspect attributes > Frames > > - > > *File /Users/annet/web2py/gluon/restricted.py in restricted at > line 212* code arguments variables > - > > *File /Users/annet/web2py/applications/init/controllers/cmssite.py > in <module> at line 417* code arguments variables > - > > *File /Users/annet/web2py/gluon/globals.py in <lambda> at line > 188* code arguments variables > - > > *File /Users/annet/web2py/gluon/tools.py in f at line 2912* code > arguments variables > - > > *File /Users/annet/web2py/applications/init/controllers/cmssite.py > in homePage at line 239* code arguments variables > - > > *File /Users/annet/web2py/gluon/tools.py in update at line 3511* > code arguments variables > - > > *File /Users/annet/web2py/gluon/sqlhtml.py in accepts at line > 1475* code arguments variables > - > > *File /Users/annet/web2py/gluon/dal.py in insert at line 7806* > code arguments variables > - > > *File /Users/annet/web2py/gluon/dal.py in insert at line 1161* > code arguments variables > Function argument list > > (self=<gluon.dal.PostgreSQLAdapter object>, table=<Table aboutText > (id,nodeID,aboutID,text,createdOn,modifiedOn)>, > fields=[(<gluon.dal.Field > object>, '<h4><em>Iedereen is welkom bij het USC!</em></h4...ard > object>is overal > een horecavoorziening aanwezig.</p>'), (<gluon.dal.Field object>, > datetime.datetime(2012, 11, 22, 16, 10, 8, 432055)), > (<gluon.dal.Field > object>, datetime.datetime(2012, 11, 22, 16, 10, 8, 432055)), > (<gluon.dal.Field object>, ''), (<gluon.dal.Field object>, '')]) > Code listing > > 1156. > 1157. > 1158. > 1159. > 1160. > 1161. > > 1162. > 1163. > 1164. > 1165. > > try: > self.execute(query) > except Exception, e: > if isinstance(e,self.integrity_error_class()): > return None > raise e > > if hasattr(table,'_primarykey'): > return dict([(k[0].name, k[1]) for k in fields \ > if k[0].name in table._primarykey]) > id = self.lastrowid(table) > > Variables e ProgrammingError('ERROR', '23502', 'null value in > column "aboutid" violates not-null constraint') > > > Why are the hidden fields ignored in form=crud.update(..)? > > Kind regards, > > Annet. > --