Filters for distinct()
This commit is contained in:
parent
71f7695808
commit
b4389f0493
@ -58,9 +58,18 @@ def query(engine, query):
|
||||
for res in resultiter(engine.execute(query)):
|
||||
yield res
|
||||
|
||||
def distinct(engine, table, *columns):
|
||||
def distinct(engine, table, *columns, **kw):
|
||||
columns = [table.c[c] for c in columns]
|
||||
|
||||
qargs = []
|
||||
try:
|
||||
for col, val in kw.items():
|
||||
qargs.append(table.c[col]==val)
|
||||
except KeyError:
|
||||
return
|
||||
|
||||
q = expression.select(columns, distinct=True,
|
||||
whereclause=and_(*qargs),
|
||||
order_by=[c.asc() for c in columns])
|
||||
return list(resultiter(engine.execute(q)))
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user