2011-03-18 13 views
8

Desde el SQLAlchemy ORM Tutorial:uso de "alias" en SQLAlchemy ORM

se puede controlar el nombres usando la etiqueta() construir para los atributos escalares y alias para las construcciones de clase:

>>> from sqlalchemy.orm import aliased 
>>> user_alias = aliased(User, name='user_alias') 
>>> for row in session.query(user_alias, user_alias.name.label('name_label')).all(): 
... print row.user_alias, row.name_label 

Esto parece ser mucho más tipado y mucho menos legible que los descriptores instrumentados de clase simple:

>>> for row in session.query(User, User.name).all(): 
... print row.User, row.name 

Pero debe existir por una razón. ¿Cómo debe usarse? ¿Cuáles son algunos buenos casos de uso?

Respuesta

Cuestiones relacionadas