How would I determine that, and what would I do about it?  I upgraded using 
the "wizard".

- Scott

On Tuesday, August 8, 2017 at 11:09:42 PM UTC-4, Anthony wrote:
>
> Is it possible when you upgraded to 2.15.3, you failed to get the updated 
> pydal that goes with it?
>
> On Tuesday, August 8, 2017 at 10:20:58 PM UTC-4, Scott Hunter wrote:
>>
>> I have code in my db.py model to add fields to auth_user:
>>
>> auth_extras = [
>>     Field('paid', 'boolean',writable=False,readable=False),
>>     Field('paidwhen', 'date',writable=False,readable=False),
>>     Field('paidamount', 'float',writable=False,readable=False),
>>     Field('paymentid',writable=False,readable=False),
>>     Field('paidYears','list:integer',default=list(), 
>> writable=False,readable=False )
>> ]
>> auth.settings.extra_fields['auth_user'] = auth_extras
>> auth.define_tables(username=False, signature=False)
>>
>> Which worked fine, until I upgraded to 2.15.3; now I get:
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>> 10.
>> 11.
>> 12.
>> 13.
>> 14.
>> 15.
>> 16.
>> 17.
>> 18.
>> 19.
>> 20.
>> 21.
>> 22.
>> 23.
>> 24.
>> 25.
>> 26.
>> 27.
>> 28.
>> 29.
>> 30.
>> 31.
>>
>> Traceback (most recent call last):
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/restricted.py", line 219, in 
>> restricted
>>     exec(ccode, environment)
>>   File "/Users/shunter/Dropbox/web2py_uki/applications/init/models/menu.py" 
>> <http://127.0.0.1:8001/admin/default/edit/init/models/menu.py>, line 178, in 
>> <module>
>>     if DEVELOPMENT_MENU: _()
>>   File "/Users/shunter/Dropbox/web2py_uki/applications/init/models/menu.py" 
>> <http://127.0.0.1:8001/admin/default/edit/init/models/menu.py>, line 49, in _
>>     if auth.has_membership('admin'):
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/authapi.py", line 575, in 
>> has_membership
>>     membership = self.table_membership()
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/authapi.py", line 175, in 
>> table_membership
>>     return self.db[self.settings.table_membership_name]
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 663, in __getitem__
>>     return self.__getattr__(str(key))
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 669, in __getattr__
>>     return self.lazy_define_table(tablename, *fields, **args)
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 603, in lazy_define_table
>>     table._create_references()
>>   File 
>> "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/objects.py", 
>> line 456, in _create_references
>>     rtable = db[rtablename]
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 663, in __getitem__
>>     return self.__getattr__(str(key))
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 669, in __getattr__
>>     return self.lazy_define_table(tablename, *fields, **args)
>>   File "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/base.py", 
>> line 599, in lazy_define_table
>>     table = table_class(self, tablename, *fields, **args)
>>   File 
>> "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/objects.py", 
>> line 351, in __init__
>>     field.bind(self)
>>   File 
>> "/Users/shunter/Dropbox/web2py_uki/gluon/packages/dal/pydal/objects.py", 
>> line 1633, in bind
>>     'Field %s is already bound to a table' % self.longname)
>> ValueError: Field auth_user.paid is already bound to a table
>>
>>
>> Which is true, but web2py used to know that.  Doesn't matter if 
>> migrations are enabled or not; I get the same part of the trace from the 
>> call to self.lazy_define_table if I comment out the call to 
>> auth.has_membership.
>>
>>

-- 
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