Ответ 1
Думаю, я понял:
session.query(Object).filter(Object.column.op('regexp')(REGEX))
Можно ли использовать регулярное выражение так же, как session.query(MyObject).filter_by(REGEX)
?
Если нет, как я могу использовать sqlAlchemy для извлечения записей, у которых есть varchar PK, начинающийся с определенного значения (например, все те, чье поле города начинается с "SA" )? Спасибо.
Думаю, я понял:
session.query(Object).filter(Object.column.op('regexp')(REGEX))
[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: no regex]
Я отвечаю на вопрос "как я могу использовать sqlAlchemy для извлечения записей, у которых есть varchar PK, начинающийся с определенного значения", потому что для этого простого варианта использования LIKE
, вероятно, является и менее дорогостоящим и более портативным (спрашивая для регулярных выражений кажется проявлением проблемы XY).
В SQLAlquemy (заимствование от Alex):
session.query(Object).filter(Object.column.like('something%'))
В SqlSoup я использую:
db.table.filter(db.table.column.like('something%'))
Для записи вы можете сделать по существу тот же синтаксис, что и пароль Paulo Scardine в SQLAlchemy,
session.query(Object).filter(Object.column.like('something%'))