db.define_table('abonent', Field('a')) db.define_table('person', db.abonet, Field('b')) # has a,b db.define_table('company', db.abonet, Field('c')) # has a,c db.define_table('provider', db.company, Field('d')) # has a,c,d
On Wednesday, 27 January 2016 17:05:57 UTC-6, RekGRpth wrote: > > I have 4 classes: Abonent, Person, Company and Provider. > Person and Company are (sublasses of) Abonents, and Provider is > (subclasses of) Company. > In django I can write > > class Abonent(models.Model): passclass Person(Abonent): passclass > Company(Abonent): passclass Provider(Company): pass > > how it will be in web2py? > follow does not works: > > db.define_table('abonent') > db.define_table('person', Field('abonent', db.abonent), > primarykey=['abonent']) > db.define_table('company', Field('abonent', db.abonent), > primarykey=['abonent']) > db.define_table('provider', Field('company', db.company), > primarykey=['company']) > > and this > > db.define_table('abonent') > db.define_table('person', Field('abonent', db.abonent), > primarykey=['abonent']) > db.define_table('company', Field('abonent', db.abonent), > primarykey=['abonent']) > db.define_table('provider', Field('company', db.company.abonent), > primarykey=['company']) > > and this > > db.define_table('abonent') > db.define_table('person', Field('abonent', type='reference abonent'), > primarykey=['abonent']) > db.define_table('company', Field('abonent', type='reference abonent'), > primarykey=['abonent']) > db.define_table('provider', Field('company', type='reference > company.abonent'), primarykey=['company']) > > -- 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.