Skip to content

Instantly share code, notes, and snippets.

@inklesspen
Created December 24, 2008 11:33
Show Gist options
  • Save inklesspen/39663 to your computer and use it in GitHub Desktop.
Save inklesspen/39663 to your computer and use it in GitHub Desktop.
# this uses the raw SQL expression language and Table objects. remember to adjust your imports as necessary.
q2 = sa.select([model.users_table.c.user_id]).where(model.users_table.c.name == 'Tom')
q1 = model.users_table.select().where(sa.not_(model.users_table.c.user_id.in_(q2)))
# this builds a query like so:
# >>> print q1
# SELECT users.user_id, users.name, users.address, users.is_staff
# FROM users
# WHERE users.user_id NOT IN (SELECT users.user_id
# FROM users
# WHERE users.name = :name_1)
# then we can easily make an orm query out of this.
query = meta.Session.query(model.User).from_statement(q1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment