thanks !

On Jul 19, 2006, at 7:24 PM, Sol wrote:

> Hello,
> the example code for multiple table inheritance
>
> (http://www.sqlalchemy.org/docs/ 
> adv_datamapping.myt#advdatamapping_inheritance_multiple)
>
>
> does not work with the previously introduce class setup
>
> (http://www.sqlalchemy.org/docs/ 
> adv_datamapping.myt#advdatamapping_inheritance)
>
> The attached patch solves this.
>
>
> Cheers, Sol.
> Index: doc/build/content/adv_datamapping.txt
> ===================================================================
> --- doc/build/content/adv_datamapping.txt     (revision 1722)
> +++ doc/build/content/adv_datamapping.txt     (working copy)
> @@ -457,22 +457,22 @@
>  Like concrete table inheritance, this can be done non- 
> polymorphically, or with a little more complexity, polymorphically:
>
>      {python title="Multiple Table Inheritance, Non-polymorphic"}
> -    people = Table('people', metadata,
> +    employees = Table('employees', metadata,
>         Column('person_id', Integer, primary_key=True),
>         Column('name', String(50)),
>         Column('type', String(30)))
>
>      engineers = Table('engineers', metadata,
> -       Column('person_id', Integer, ForeignKey 
> ('people.person_id'), primary_key=True),
> +       Column('person_id', Integer, ForeignKey 
> ('employees.person_id'), primary_key=True),
>         Column('engineer_info', String(50)),
>        )
>
>      managers = Table('managers', metadata,
> -       Column('person_id', Integer, ForeignKey 
> ('people.person_id'), primary_key=True),
> +       Column('person_id', Integer, ForeignKey 
> ('employees.person_id'), primary_key=True),
>         Column('manager_data', String(50)),
>         )
>
> -    person_mapper = mapper(Person, people)
> +    person_mapper = mapper(Employee, employees)
>      mapper(Engineer, engineers, inherits=person_mapper)
>      mapper(Manager, managers, inherits=person_mapper)
>
> @@ -481,15 +481,16 @@
>      {python title="Multiple Table Inheritance, Polymorphic"}
>      person_join = polymorphic_union(
>          {
> -            'engineer':people.join(engineers),
> -            'manager':people.join(managers),
> -            'person':people.select(people.c.type=='person'),
> +            'engineer':employees.join(engineers),
> +            'manager':employees.join(managers),
> +            'person':employees.select(employees.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(Employee, employees,  
> select_table=person_join, polymorphic_on=person_join.c.type,  
> polymorphic_identity='person')
>      mapper(Engineer, engineers, inherits=person_mapper,  
> polymorphic_identity='engineer')
>      mapper(Manager, managers, inherits=person_mapper,  
> polymorphic_identity='manager')
>
> +
>  The join condition in a multiple table inheritance relationship  
> can be specified explicitly, using `inherit_condition`:
>
>      {python}
> ---------------------------------------------------------------------- 
> ---
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to  
> share your
> opinions on IT & business topics through brief surveys -- and earn  
> cash
> http://www.techsay.com/default.php? 
> page=join.php&p=sourceforge&CID=DEVDEV________________________________ 
> _______________
> Sqlalchemy-users mailing list
> Sqlalchemy-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users

Reply via email to