running Python 2.7, web2py 2.18.5

table:
    
db.define_table('AccTrans',
    Field('Timestamp', 'datetime', default=request.now, writable=False),
    Field('Bank', 'reference Bank_Accounts', writable=False),    #e.g. 
PayPal, Cambridge Trust, ...
    Field('Account', 'reference CoA',
            requires=IS_IN_DB(db, 'CoA.id', '%(Name)s', 
orderby=db.CoA.Name)),
    Field('Event', 'reference Events',
                requires=IS_EMPTY_OR(IS_IN_DB(db, 'Events.id', '%(Event)s', 
orderby=~db.Events.Date)),
                comment='leave blank if not applicable'),
    Field('Amount', 'decimal(8,2)',
                comment='enter full amount of check (negative) or deposit 
(positive); split using Edit if multiple accounts',
                requires=IS_DECIMAL_IN_RANGE(-10000, 10000)),    # >=0 for 
asset/revenue, <0 for liability/expense
    Field('Fee', 'decimal(6,2)', 
requires=IS_EMPTY_OR(IS_DECIMAL_IN_RANGE(-1000,100))),    # e.g. PayPal 
transaction fee, <0 (unless refunded)
    Field('CheckNumber', 'integer', default=None, 
requires=IS_EMPTY_OR(IS_INT_IN_RANGE(1,99999)),
                comment='enter check number if recording a check written'),
    Field('Accrual', 'boolean', default=True, readable=True, 
writable=False),
    Field('FullAmt', 'decimal(8,2)', writable=False, readable=False),    # 
for an accrual, the original unsplit amount
    Field('Reference', 'string', writable=False),
    Field('Notes', 'text'),
    singular='Transaction', plural='Check_Register')

first referenced table:
    
db.define_table('CoA',
    Field('Name', 'string'),
    Field('Notes', 'string'),
    singular='Bank', plural='Banks', format='%(Name)s')
db.CoA.Name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db, 'CoA.Name')]

appadmin displays table rows just fine.

clicking a record link in the id column to edit the record fails:

Ticket ID 

127.0.0.1.2019-06-06.11-23-25.64b3e296-56e8-4c9f-a875-5a0ae496f620
<type 'exceptions.KeyError'> 'Account.Name' Version 
web2py™ Version 2.18.5-stable+timestamp.2019.04.08.04.22.03 
Python Python 2.7.14: C:\Python27\python.exe (prefix: C:\Python27) Traceback 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.

Traceback (most recent call last):
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\gluon\restricted.py", line 219, in restricted
    exec(ccode, environment)
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\applications\init\controllers/appadmin.py", line 695, in 
<module>
  File "C:\Users\David\Google Drive\My Documents\OxCamNE.3.1\gluon\globals.py", 
line 421, in <lambda>
    self._caller = lambda f: f()
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\applications\init\controllers/appadmin.py", line 337, in 
update
    f='download', args=request.args[:1]))
  File "C:\Users\David\Google Drive\My Documents\OxCamNE.3.1\gluon\sqlhtml.py", 
line 1550, in __init__
    inp = self.widgets.options.widget(field, default)
  File "C:\Users\David\Google Drive\My Documents\OxCamNE.3.1\gluon\sqlhtml.py", 
line 353, in widget
    options = requires[0].options()
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py", line 2742, in 
_options
    options = self.other.options(*args, **kwargs)
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py", line 609, in 
options
    self.build_set()
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py", line 604, in 
build_set
    self.labels = [self.label % r for r in records]
  File "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\gluon\packages\dal\pydal\objects.py", line 103, in 
__getitem__
    raise KeyError(key)
KeyError: 'Account.Name'

Error snapshot [image: help] 
<http://127.0.0.1:8000/admin/default/ticket/init/127.0.0.1.2019-06-06.11-23-25.64b3e296-56e8-4c9f-a875-5a0ae496f620#>
 

<type 'exceptions.KeyError'>('Account.Name') 

inspect attributes 
Frames 
   
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\restricted.py in restricted at line 219* code 
   arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\applications\init\controllers\appadmin.py in <module> 
   at line 695* code arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\globals.py in <lambda> at line 421* code 
   arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\applications\init\controllers\appadmin.py in update 
   at line 337* code arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\sqlhtml.py in __init__ at line 1550* code 
   arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\sqlhtml.py in widget at line 353* code 
   arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py in _options at 
   line 2742* code arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py in options at 
   line 609* code arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\packages\dal\pydal\validators.py in build_set 
   at line 604* code arguments variables 
   - 
   
   *File C:\Users\David\Google Drive\My 
   Documents\OxCamNE.3.1\gluon\packages\dal\pydal\objects.py in __getitem__ at 
   line 103* code arguments variables 
   Function argument list 
   
   (self=<Row {'Accrued': -946.32, 'id': 1L}>, k='Account.Name')
   Code listing 
   
   98.
   99.
   100.
   101.
   102.
   103.
   104.
   105.
   106.
   107.
   
           lg = BasicStorage.get(self, '__get_lazy_reference__', None)
           if callable(lg):
               v = self[key] = lg(key)
               return v
   
           raise KeyError(key)
   
       __str__ = __repr__ = lambda self: '<Row %s>' % \
           self.as_dict(custom_types=[LazySet])
   
   Variables 
   key 'Account.Name' 
   builtinKeyError <type 'exceptions.KeyError'> 
   
Context 

locals request session response 
In file: C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\applications\init\controllers/appadmin.py 

1.

<code object <module> at 000000000BC220B0, file "C:\Users\David\Google Drive\My 
Documents\OxCamNE.3.1\applications\init\controllers/appadmin.py", line 7>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/bfd3002d-300b-49a5-9078-e229cafb9e3f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to