使用 eval 以编程方式定义 SQLQuery q 对象

发布于 2024-10-21 05:51:22 字数 323 浏览 6 评论 0原文

我正在使用 SQLObject,并希望使用 .q 对象(或其他方式)以编程方式构建查询 - 但不想恢复到实际的 SQL。

我正在尝试做类似的事情:

column = 'name'
value = 'todd'
Users.select(Users.q.column==value)

我得到了这个:

Users.select(eval('Users.q.%s' % column)==value)

但它只是感觉“错误”——这是“正确”(或更恰当地说,“Pythonic”)的方法吗?

I'm using SQLObject and want to programmatically build a query using the .q objects (or some other way) -- but do not want to revert to actual SQL.

I'm trying to do something like:

column = 'name'
value = 'todd'
Users.select(Users.q.column==value)

I've got this:

Users.select(eval('Users.q.%s' % column)==value)

But it just feels "wrong" -- is this the "correct" (or more aptly, "pythonic") way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泡沫很甜 2024-10-28 05:51:22
Users.select(getattr(Users.q, column)==value)
Users.select(getattr(Users.q, column)==value)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文