gpt4 book ai didi

python-2.7 - 如何从 sqlalchemy 获取列名?

转载 作者:行者123 更新时间:2023-12-05 01:42:11 27 4
gpt4 key购买 nike

给定我的模型

class CUSTOMER():
ID = db.Column(db.String(12), primary_key=True)
PotentialCustomer = db.Column(db.String(12))
FirstNameEn = db.Column(db.String(35))
LastNameEn = db.Column(db.String(35))
FirstNameKh = db.Column(db.String(35))
LastNameKh = db.Column(db.String(35))
Salutation = db.Column(db.String(4))
Gender = db.Column(db.String(6))
DateOfBirth = db.Column(db.String(10))
CountryOfBirth = db.Column(db.String(2))
Nationality = db.Column(db.String(2))
ProvinceOfBirth = db.Column(db.String(3))

我想获取模型 CUSTOMER() 的列表列名,以便循环遍历该列名?

我试图通过谷歌四处浏览,但不知道如何存档?

我可以存档吗?谢谢

最佳答案

您正在搜索 column_descriptions()

当您使用 column_descriptions() 时,您将获得有关将在查询中返回的列的元数据。

在你的情况下:

customer_alias = aliased(CUSTOMER, name='customer2')
#If you want a single field (CUSTOMER.ID)
customer_query = con.query(CUSTOMER, CUSTOMER.ID, customer_alias)

那么,你应该使用这个表达式:

customer_query.column_descriptions

输出

[
{
'name':'CUSTOMER',
'type':CUSTOMER,
'aliased':False,
'expr':CUSTOMER,
'entity': CUSTOMER
},
{
'name':'ID',
'type':String(),
'aliased':False,
'expr':CUSTOMER.ID,
'entity': CUSTOMER
},
{
'name':'customer2',
'type':CUSTOMER,
'aliased':True,
'expr':customer_alias,
'entity': customer_alias
}
]

但是,如果您想要所有 key ,您应该:

#we just want one field:
query = session.query(CUSTOMER).filter_by(id=1)
#then:
conn.execute(query).keys()

您将获得列名 ['id',PotentialCustomer, FirstNameEN...]

另一种选择:

CUSTOMER.__table__.columns.keys()
CUSTOMER.metadata.columns.keys()

关于python-2.7 - 如何从 sqlalchemy 获取列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com