首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

如何通过 sqlalchemy 实现 go 语言 sqlx 中的模型效果:查询结果填充 和 查询参数绑定

  •  
  •   1800x · 43 天前 · 549 次点击
    这是一个创建于 43 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如有下面的模型:
    type Person struct {
    FirstName string `db:"first_name"`
    LastName string `db:"last_name"`
    }

    查询结果填充
    jason = Person{}
    err = db.Get(&jason, "SELECT * FROM person WHERE first_name=$1", "Jason")
    Get 会将查询到的第一行数据填充给对象 jason

    查询参数绑定
    rows, err = db.NamedQuery(`SELECT * FROM person WHERE first_name=:first_name`, jason)
    NamedQuery 会从对象 jason 字段去查找 sql 语句中:参数

    python 中用 sqlalchemy 怎么实现?? 或者其它 python 库可以实现也行
    第 1 条附言  ·  41 天前
    暂时放弃原生 sql

    目前是这样实现的:

    inserter = expression.insert(model.User).values(name=name, phone=phone, account_id=account_id)
    res = session.execute(inserter)


    user = session.query(model.User).filter(model.User.id==account_id).first()

    期待 python 专家提供能支持原生 sql 的方案
    2 回复  |  直到 2019-04-13 18:10:31 +08:00
        1
    neoblackcap   42 天前 via iPhone
    可以的,你写 model 的时候指定字段名就可以了
        2
    fngtz   42 天前 via iPhone
    PEP 249
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2328 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 08:59 · PVG 16:59 · LAX 01:59 · JFK 04:59
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1