I just tested it and it just worked like a charm. SQL crafting made easy!
Thanks Mike

On Monday, October 28, 2013 3:41:48 PM UTC+11, Michael Bayer wrote:
>
>
> On Oct 27, 2013, at 11:06 PM, Chung WONG <[email protected] <javascript:>> 
> wrote: 
>
> > class User(Base): 
> >     from sqlalchemy.dialects.postgresql import INET 
> >     __tablename__ = 'users' 
> >     id = Column(Integer,Sequence('user_id_seq'), primary_key=True) 
> >     first_name = Column(Unicode(255),nullable=False) 
> >     last_name = Column(Unicode(255),nullable=False) 
> >     created_at = Column(DateTime,nullable=False,default=datetime.utcnow) 
> >     updated_at = Column(DateTime) 
> >     email = Column(String(255),nullable=False) 
> >     password= Column(String(60)) 
> > 
> >     auth_providers=relationship("Oauth2User", backref="user") 
> > 
> >     def __init__(self,**kw): 
> >         for key in kw: 
> >             self.__setattr__(key,kw[key]) 
> > 
> > 
> > class Oauth2User(User): 
> >     __tablename__ = 'oauth2_user_info' 
> >     id = Column(Integer,Sequence('oauth2_user_id_seq'), 
> primary_key=True) 
> >     user_id = Column(Integer, ForeignKey('users.id')) 
> >     uid = Column(Integer) 
> >     provider_id=Column(Unicode) 
> >     first_name = Column(Unicode(255),nullable=False) 
> >     last_name = Column(Unicode(255),nullable=False) 
> >     created_at = Column(DateTime,nullable=False,default=datetime.utcnow) 
> >     updated_at = Column(DateTime) 
> > 
> > There are two classes where Oauth2User inherits User, and both of them 
> have its own table. 
> > If user info is returned by oauth provider and an instance of Oauth2User 
> will becreated, with all attributes setup probably. 
> > How do I save that user into both tables users and oauth2_user_info? 
>
>
> you can see for yourself if you just take an Oauth2User as above, add() it 
> to a Session, and watch the SQL with echo=True.      Joined table 
> inheritance is a fully implemented feature that considers the two tables 
> for an Oauth2User object for all operations, persistence is included.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to