diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-06-08 03:17:11 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-06-08 03:17:11 +0000 |
| commit | 4215a5f20003e0a9d2633464ea7073472659a315 (patch) | |
| tree | 4797fdddf846ce423d1686280f4fbdd2c5777fcc /examples/polymorph | |
| parent | bf8d8436ec81a1aa5ad35b849285966753cfe629 (diff) | |
| download | sqlalchemy-4215a5f20003e0a9d2633464ea7073472659a315.tar.gz | |
- eager loader calls select_mapper so that poly rulesets get picked up
- changed polymorph example to use a single set of outerjoins
Diffstat (limited to 'examples/polymorph')
| -rw-r--r-- | examples/polymorph/polymorph.py | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/examples/polymorph/polymorph.py b/examples/polymorph/polymorph.py index 6c4f0aae6..67138b084 100644 --- a/examples/polymorph/polymorph.py +++ b/examples/polymorph/polymorph.py @@ -55,16 +55,9 @@ class Company(object): return "Company %s" % self.name -# create a union that represents both types of joins. -person_join = polymorphic_union( - { - 'engineer':people.join(engineers), - 'manager':people.join(managers), - 'person':people.select(people.c.type=='person'), - }, None, 'pjoin') - -#person_mapper = mapper(Person, people, select_table=person_join, polymorphic_on=person_join.c.type, polymorphic_identity='person') -person_mapper = mapper(Person, people, select_table=person_join,polymorphic_on=person_join.c.type, polymorphic_identity='person') +person_join = people.outerjoin(engineers).outerjoin(managers) + +person_mapper = mapper(Person, people, select_table=person_join,polymorphic_on=people.c.type, polymorphic_identity='person') mapper(Engineer, engineers, inherits=person_mapper, polymorphic_identity='engineer') mapper(Manager, managers, inherits=person_mapper, polymorphic_identity='manager') |
