yeah, django orm automatically detects foreignkey relation so we don't
need to do anything else but with sqlalchemy,
unfortunately it's not like that. :)

On 21 Temmuz, 13:39, bloeper <[email protected]> wrote:
> Thanks for the reactions :)
> When I have a little spare time I will look detailed into your
> reactions.
> But it looks promising, first time i use TG + SA.
> Came from django, so it's a bit of a hassle to come into.
>
> On Jul 20, 8:34 pm, hacked <[email protected]> wrote:
>
>
>
> > On Jul 20, 9:40 am, bloeper <[email protected]> wrote:
>
> > > Hi all,
>
> > > I have a question, i am creating an blog application.
> > > The blog model is as follow:
> > > class Blog( DeclarativeBase ):
> > >     __tablename__ = 'blog'
>
> > >     id = Column( Integer, primary_key = True )
> > >     title = Column( Unicode( 100 ), nullable = False )
> > >     slug = Column( Unicode( 110), nullable = False, unique = True )
> > >     date = Column( DateTime, nullable = False )
> > >     content = Column( Text, nullable = False )
> > >     reaction = Column( Integer, nullable = True )
> > >     author = Column( Integer, ForeignKey( 'tg_user.user_id',
> > > onupdate="CASCADE", ondelete="CASCADE" ) )
>
> > >     def __init__( self, title, content, reaction, author, tags ):
> > >       self.title = title
> > >       self.slug = urlify( title )
> > >       self.date = datetime.now()
> > >       self.content = content
> > >       self.reaction = reaction
> > >       self.author = author
>
> > > Now is the question (when I retrieve the information) through:
> > > @expose('nextrus.templates.new.blog')
> > >     def blog( self, slug = 'first-post'):
> > >       try:
> > >         blog = DBSession.query( Blog ).filter_by( slug = slug ).one()
> > >       except NoResultFound:
> > >         blog = DBSession.query( Page ).filter_by( slug = u'not-
> > > found').one()
>
> > >       try:
> > >         menus = DBSession.query( Menu ).order_by( Menu.order )
> > >       except NoResultFound:
> > >         pass
>
> > >       return dict( blog = blog, menus = menus )
>
> > > How can i get the username from the table of tg_users?
> > > I know it's quite simple but can't find it in the tg documentation.
>
> > > Thanks in advance.
>
> > > Greetings,
>
> > > Bloeper
>
> > Hey Bloeper,
>
> > you need to create the relationship first on your model
>
> > from sqlachemy.orm import relation
> > from package.model import User
>
> > class Blog( DeclarativeBase ):
> >     __tablename__ = 'blog'
> >     id = Column( Integer, primary_key = True )
> >     title = Column( Unicode( 100 ), nullable = False )
> >     slug = Column( Unicode( 110), nullable = False, unique = True )
> >     date = Column( DateTime, nullable = False )
> >     content = Column( Text, nullable = False )
> >     reaction = Column( Integer, nullable = True )
>
> >      # create a relationship
> >     author_id = Column( Integer, ForeignKey( 'tg_user.user_id',
> > onupdate="CASCADE", ondelete="CASCADE" ) )
> >     author = relation(User, backref='blogs', uselist=False) #NOTE the
> > uselist ensures only one author and dont return a list
>
> > now in you can access the author in your template or controller via
> > the relationship
>
> > blog.author.name_variable
>
> > More info can be found in the SQLAlchemy 
> > docs:http://www.sqlalchemy.org/docs/05/reference/orm/mapping.html?highligh...

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to