From 0eaacaac1d2f3e287e6c05c7c9e407482ab4221a Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Wed, 18 May 2011 21:05:43 -0400 Subject: [PATCH] Simplify query (again) for server_info view and template. Avoid from_statement syntax. --- xonstat/templates/server_info.mako | 4 ++-- xonstat/views.py | 28 +++++++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/xonstat/templates/server_info.mako b/xonstat/templates/server_info.mako index 5175d1c..8020ecc 100755 --- a/xonstat/templates/server_info.mako +++ b/xonstat/templates/server_info.mako @@ -22,8 +22,8 @@ ${parent.title()} % if recent_games:

Recent Games

More games played on ${server.name}... diff --git a/xonstat/views.py b/xonstat/views.py index b85aaab..91ef2eb 100755 --- a/xonstat/views.py +++ b/xonstat/views.py @@ -125,17 +125,23 @@ def server_info(request): server_id = request.matchdict['id'] try: server = DBSession.query(Server).filter_by(server_id=server_id).one() - recent_games = DBSession.query("game_id", "server_id", "server_name", - "map_id", "map_name").\ - from_statement("select g.game_id, s.server_id, " - "s.name as server_name, m.map_id, m.name as map_name " - "from games g, servers s, maps m " - "where g.server_id=:server_id " - "and g.server_id = s.server_id " - "and g.map_id = m.map_id " - "order by g.start_dt desc " - "limit 10 offset 1").\ - params(server_id=server_id).all() + recent_games = DBSession.query(Game, Server, Map).\ + filter(Game.server_id == server_id).\ + filter(Game.server_id == Server.server_id).\ + filter(Game.map_id == Map.map_id).\ + order_by(Game.game_id.desc())[0:10] + + #recent_games = DBSession.query("game_id", "server_id", "server_name", + #"map_id", "map_name").\ + #from_statement("select g.game_id, s.server_id, " + #"s.name as server_name, m.map_id, m.name as map_name " + #"from games g, servers s, maps m " + #"where g.server_id=:server_id " + #"and g.server_id = s.server_id " + #"and g.map_id = m.map_id " + #"order by g.start_dt desc " + #"limit 10 offset 1").\ + #params(server_id=server_id).all() except Exception as e: server = None -- 2.39.2