Forgot to mention... If you for some reason you can't refactor your schema... you can unionize query in web2py like so :
select_cat = db(db.cat.id>0).select() select_dog = db(db.dog.id>0).select() select_cat_and_dog = select_cat | select_dog Note: You can use & or | they are python binary operator, if I recall used like that combine with web2py query they mimic union (no duplicate) and union all (keep duplicate)... Richard On Tue, Apr 25, 2017 at 10:32 AM, Anthony <[email protected]> wrote: > On Tuesday, April 25, 2017 at 10:10:08 AM UTC-4, A3 wrote: >> >> Maybe you can use: >> >> db.define_table(‘animal’, >> >> Field('name', 'string', length=45), >> >> Field(‘age’, ‘integer’), >> >> Field(‘apt_time’,’datetime’) >> >> >> and then subclass: >> >> >> db.define_table(‘cat’, db.animal) >> >> and >> >> db.define_table(‘dog’, db.animal) >> >> >> and then query on db.animal ? >> > > No, you cannot do that. Above defines three separate DAL models, each of > which will have a separate database table -- queries on db.animal would be > made against an "animal" table in the database, not against the "cat" and > "dog" tables separately. > > Anthony > > -- > 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 [email protected]. > 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

