使用 SQLObject ORM 过滤 "value in list"

Filter "value in list" with SQLObject ORM

我想使用 SQLObject 让我的同事从我的 MySQL 数据库中获取一些数据。现在我需要使用过滤器 "value in list" 但我不知道该怎么做。

我选择 SQLObject 是因为它看起来比例如 Django ORM 更简单,但是是否有使用过滤器的选项 "value in list"?在 Django 中,它只是 Class.objects.filter(value__in=list)。我没有在 SQLObject 的文档中找到等效项,但很难相信没有这样的功能。

我的列表不是值的范围所以

AND(Class.q.value>list[0], Class.q.value<list[-1])

...没有解决我的问题。我需要在 Django 中像这段代码一样工作的东西:

Class.objects.filter(id__in=[1,13,100,17])

如何使用 SQLObject 执行此操作?可以吗?

from sqlobject.sqlbuilder import IN

并在您的查询中使用:

IN(Class.q.value, list)

参见the docs and tests