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.

Reply via email to