python-3.x 使用SQLAlchemy获取列的字符串值

7hiiyaii  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(190)

我尝试使用SQLALchemy和Python3.10获取用户表中存储的IP地址的字符串值。但是,当我运行下面的查询时,我得到的是一个对象,而不仅仅是字符串。
我怎样才能只得到字符串的值?

def get_user_ip(user_id):
    try:
        return User.query.with_entities(User.ip_address).filter_by(id=user_id)
    except Exception as e:
        print(str(e))
        return None
lx0bsm1f

lx0bsm1f1#

User.query.with_entities(User.ip_address).filter_by(id=user_id)生成查询示例,但不 * 执行 * 它。要获取结果,请通过调用以下方法之一来执行查询:

  • first():返回结果集中的第一个结果
  • one():返回一个结果,如果结果数不是一,则引发错误
  • 一个或无():返回一个或无(如果有多个结果,则返回错误)
  • all():返回所有结果的列表

例如:

...
    return User.query.with_entities(User.ip_address).filter_by(id=user_id).first()

您也可以循环访问查询,而不是调用方法,但这并不适合您的用例。

相关问题