2024-09-28 22:08:01 发布
网友
我有以下内容:
tableNumber = session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first() return str(tableNumber)
这是我的TABLE类:
TABLE
这是我收到的输出:
(1L,)
在我的mySQL database中,上面的所有值都表示为ints。在
mySQL database
ints
我只想把1归还。在
1
query().first()返回第一行。这就是返回元组的原因。查询不关心第一行中只有1个值,从而得到长度为1的元组。在
query().first()
如果确定查询只返回1个标量值,则可以使用^{}代替first()。请阅读链接的文档。在
first()
edit:要获得第一个返回元组中的第一个值,当查询可能返回多行时,您可以将order_by(...).limit(1)添加到查询中,然后使用scalar(),或者获取第一行,然后显式地将元组转换为int
order_by(...).limit(1)
scalar()
first()和all()返回“tuple”
所以,session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first() 返回包含“TABLESNUMBER”的元组
session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first()
如果只需要一个值(表编号)
你可以用它。 session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first().TABLESNUMBER
session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first().TABLESNUMBER
query().first()
返回第一行。这就是返回元组的原因。查询不关心第一行中只有1个值,从而得到长度为1的元组。在如果确定查询只返回1个标量值,则可以使用^{} 代替
first()
。请阅读链接的文档。在edit:要获得第一个返回元组中的第一个值,当查询可能返回多行时,您可以将
order_by(...).limit(1)
添加到查询中,然后使用scalar()
,或者获取第一行,然后显式地将元组转换为intfirst()和all()返回“tuple”
所以,
session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first()
返回包含“TABLESNUMBER”的元组如果只需要一个值(表编号)
你可以用它。
session.query(TABLE.TABLESNUMBER).filter_by(TABLESID=self.TABLESID).first().TABLESNUMBER
相关问题 更多 >
编程相关推荐