https://github.com/web2py/pydal/issues/399
And PR https://github.com/web2py/pydal/pull/400 On Wed, Jul 27, 2016 at 9:31 AM, Richard Vézina <ml.richard.vez...@gmail.com > wrote: > Traceback (most recent call last): > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/restricted.py", > line 227, in restricted > exec ccode in environment > File > "/home/richard/Documents/programmation/version_2146/web2py/applications/sgddms/controllers/test.py" > <http://127.0.0.1:8000/admin/default/edit/sgddms/controllers/test.py>, line > 3883, in <module> > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/globals.py", > line 417, in <lambda> > self._caller = lambda f: f() > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/tools.py", > line 4241, in f > return action(*a, **b) > File > "/home/richard/Documents/programmation/version_2146/web2py/applications/sgddms/controllers/test.py" > <http://127.0.0.1:8000/admin/default/edit/sgddms/controllers/test.py>, line > 766, in update > form.process(detect_record_change=True) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/html.py", > line 2298, in process > self.validate(**kwargs) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/html.py", > line 2236, in validate > if self.accepts(**kwargs): > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/sqlhtml.py", > line 1744, in accepts > self.id_field_name]).update(**fields) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/objects.py", > line 2049, in update > if any(f(self, update_fields) for f in table._before_update): > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/objects.py", > line 2049, in <genexpr> > if any(f(self, update_fields) for f in table._before_update): > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/objects.py", > line 390, in <lambda> > archive_record(qset, fs, db[an], cn)) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/helpers/methods.py", > line 97, in archive_record > archive_table.insert(**fields) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/objects.py", > line 726, in insert > ret = self._db._adapter.insert(self, self._listify(fields)) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/adapters/base.py", > line 751, in insert > id = self.lastrowid(table) > File > "/home/richard/Documents/programmation/version_2146/web2py/gluon/packages/dal/pydal/adapters/postgres.py", > line 181, in lastrowid > return int(self.cursor.fetchone()[0]) > TypeError: int() argument must be a string or a number, not 'NoneType' > > > The only thing I change, is that I activate record versioning over a table > in my system... I guess that since there is detect_record_change=True, > there is more than only one callback that happen and it cause the > versioning callback to failed because of "lastrowid". So I guess the > solution is to use RETURNING as suggest by Dragan and Lionel... > > Richard > > On Mon, Jul 25, 2016 at 2:07 PM, Massimo Di Pierro < > massimo.dipie...@gmail.com> wrote: > >> Can you show the full traceback? >> >> >> On Thursday, 21 July 2016 15:53:04 UTC-5, Richard wrote: >>> >>> Did we open a ticket and solve this one... I think I have this issue... >>> I try to create an archive table and I fall on this error >>> >>> dal/pydal/adapters/postgres.py", line 181, in lastrowid >>> >>> return int(self.cursor.fetchone()[0]) >>> >>> >>> I can't figure out why so far... >>> >>> Richard >>> >>> On Wed, Aug 6, 2014 at 2:48 PM, Niphlod <niph...@gmail.com> wrote: >>> >>>> not really (scouting through code and docs seems that we're using only >>>> for postgresql something that isn't that "stable" when triggers are >>>> involved), but it's anyway fixable. >>>> >>>> >>>> On Wednesday, August 6, 2014 8:24:24 PM UTC+2, Leonel Câmara wrote: >>>>> >>>>> I don't think this "bug" is just in PostgreSQL. For instance MSSQL >>>>> should probably use OUTPUT INSERTED.ID to get the id and Oracle can >>>>> use RETURNING like PostgreSQL too. >>>>> >>>>> Basically any kind of lastval variant can be problematic. >>>>> >>>>> >>>>> >>>> -- >>>> Resources: >>>> - http://web2py.com >>>> - http://web2py.com/book (Documentation) >>>> - http://github.com/web2py/web2py (Source code) >>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "web2py-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to web2py+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.