considerar esta definición de tabla simple (utilizando SQLAlchemy-0.5.6)Como llegar sqlalchemy longitud de una columna de cadena
from sqlalchemy import *
db = create_engine('sqlite:///tutorial.db')
db.echo = False # Try changing this to True and see what happens
metadata = MetaData(db)
user = Table('user', metadata,
Column('user_id', Integer, primary_key=True),
Column('name', String(40)),
Column('age', Integer),
Column('password', String),
)
from sqlalchemy.ext.declarative import declarative_base
class User(declarative_base()):
__tablename__ = 'user'
user_id = Column('user_id', Integer, primary_key=True)
name = Column('name', String(40))
Quiero saber cuál es la longitud máxima de nombre de la columna, por ejemplo, de tabla de usuario y de usuario (clase declarativa)
print user.name.length
print User.name.length
me han tratado (User.name.type.length) pero ha producido una excepción
Traceback (most recent call last):
File "del.py", line 25, in <module>
print User.name.type.length
File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.6-py2.5.egg/sqlalchemy/orm/attributes.py", line 135, in __getattr__
key)
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object has an attribute 'type'
Me gustaría leer más sobre esto pero no puedo encontrar referencia al atributo 'property' en cualquier lugar en los documentos oficiales. ¿Alguien sería tan amable de publicar un enlace? – KomodoDave
Aquí está el tipo que devuelve: http://sqlalchemy.readthedocs.org/en/latest/orm/internals.html?highlight=strategizedproperty#sqlalchemy.orm.properties.ColumnProperty pero me gustaría secundar @KomodoDave y preguntarse dónde está la documentación para los atributos de propiedades y columnas. Mis compañeros de trabajo y yo tenemos reservas sobre el uso de la funcionalidad no documentada. –