xem xét định nghĩa bảng đơn giản này (sử dụng SQLAlchemy-0.5.6)Làm thế nào để có được SQLAlchemy chiều dài của cột kiểu string
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))
Tôi muốn biết chiều dài tối đa của tên cột ví dụ là những gì từ bảng người dùng và từ tài khoản (declarative lớp)
print user.name.length
print User.name.length
Tôi đã thử (User.name.type.length) nhưng nó ném ngoại lệ
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'
Tôi muốn đọc thêm về điều này nhưng không thể tìm thấy tham chiếu đến thuộc tính 'property' ở bất cứ đâu trong các tài liệu chính thức. Ai đó có thể tử tế, đủ để gửi một liên kết? – KomodoDave
Đây là loại trả về: http://sqlalchemy.readthedocs.org/en/latest/orm/internals.html?highlight=strategizedproperty#sqlalchemy.orm.properties.ColumnProperty nhưng tôi muốn thứ hai @KomodoDave và tự hỏi nơi tài liệu dành cho thuộc tính và thuộc tính cột. Đồng nghiệp của tôi và tôi đã đặt trước về việc sử dụng chức năng không có giấy tờ. –