Hi!
I have a problem - look at example:

db.define_table('a_tbl', Field('name'))
db.define_table('b_tbl', Field('id', 'reference a_tbl') ,Field('name'), 
primarykey=['id'])
db.define_table('c_tbl', Field('b_tbl_id', 'reference b_tbl') 
,Field('name'))


*c_tbl* definition causes an error (see below) because there is  *b_tbl_id*  
field that references to *b_tbl* that has *id*  reference to *a_tbl* 

Is this a bug?



----------------------------------------------------------------------------------------------------------

<type 'exceptions.KeyError'> 'foreign_key'

web2py™Version 2.13.4-stable+timestamp.2015.12.26.04.59.39PythonPython 
2.7.9: 


*File D:\web2py_last\web2py\gluon\packages\dal\pydal\adapters\base.py in 
create_table at line 303*
Function argument list

(self=<pydal.adapters.sqlite.SQLiteAdapter object>, table=<Table c_tbl 
(id,name)>, migrate=True, fake_migrate=False, polymodel=None)
Code listing

298.
299.
300.
301.
302.
303.

304.
305.
306.
307.


                # must be PK reference or unique
                if getattr(rtable, '_primarykey', None) and rfieldname in 
rtable._primarykey or \
                        rfield.unique:
                    ftype = types[rfield.type[:9]] % \
                        dict(length=rfield.length)

                    # multicolumn primary key reference?
                    if not rfield.unique and len(rtable._primarykey)>1:
                        # then it has to be a table level FK
                        if rtablename not in TFK:




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