Implement Database.query_sql()
Implement Database.query_sql() to allow fetching mapped objects returned from raw SQL query
This commit is contained in:
parent
dcd639e96d
commit
29ebfe7ca2
1 changed files with 7 additions and 4 deletions
|
@ -89,6 +89,12 @@ class Database():
|
||||||
|
|
||||||
self.db.execute(sql, values)
|
self.db.execute(sql, values)
|
||||||
|
|
||||||
|
def query_sql(self, table, sql, values=list()):
|
||||||
|
cr = DatabaseTableCursor(table, self.db.cursor())
|
||||||
|
cr.execute(sql, values)
|
||||||
|
|
||||||
|
return cr
|
||||||
|
|
||||||
def query(self, table, values=dict(), order_by=list()):
|
def query(self, table, values=dict(), order_by=list()):
|
||||||
sql = f"select * from {table.name}"
|
sql = f"select * from {table.name}"
|
||||||
|
|
||||||
|
@ -114,10 +120,7 @@ class Database():
|
||||||
elif order is DatabaseOrder.DESC:
|
elif order is DatabaseOrder.DESC:
|
||||||
sql += f" {column} desc"
|
sql += f" {column} desc"
|
||||||
|
|
||||||
cr = DatabaseTableCursor(table, self.db.cursor())
|
return self.query_sql(table, sql, list(values.values()))
|
||||||
cr.execute(sql, list(values.values()))
|
|
||||||
|
|
||||||
return cr
|
|
||||||
|
|
||||||
def get(self, table, values: dict=dict()):
|
def get(self, table, values: dict=dict()):
|
||||||
return self.query(table, values).fetchone()
|
return self.query(table, values).fetchone()
|
||||||
|
|
Loading…
Add table
Reference in a new issue