我试图动态访问我用SQL Alchemy创建的表的列列表。我创建了这样的表:
基准.py
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker
import os
# Create database engine
db_name = 'database.db'
db_path = os.path.join(os.path.dirname(__file__), db_name)
db_uri = 'sqlite:///{}'.format(db_path)
engine = create_engine(db_uri, convert_unicode=True)
# Declarative base model to create database tables and classes
Base = declarative_base()
Base.metadata.bind = engine # Bind engine to metadata of the base class
# Create database session object
db_session = scoped_session(sessionmaker(bind=engine, expire_on_commit=False))
Base.query = db_session.query_property() # Used by graphql to execute queries
模型_行星.py
^{pr2}$在另一个文件中,我正在导入model_planet.ModelPlanet
,并尝试按照此处的文档访问其列:http://docs.sqlalchemy.org/en/latest/core/metadata.html
from database.model_planet import ModelPlanet
print(type(ModelPlanet))
for column in ModelPlanet.columns:
print(column)
我得到以下信息:
<class 'sqlalchemy.ext.declarative.api.DeclarativeMeta'>
Traceback (most recent call last):
[...]
for column in ModelPlanet.columns:
AttributeError: type object 'ModelPlanet' has no attribute 'columns'
我想这和我定义表的方式有关。如何动态访问它的列?在
谢谢
您需要这样访问:
相关问题 更多 >
编程相关推荐