diff options
| -rw-r--r-- | chimere/main/models.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py index 4647435..f633b3f 100644 --- a/chimere/main/models.py +++ b/chimere/main/models.py @@ -355,14 +355,16 @@ class SimpleArea: sql_main = '''select subcat.id as id, subcat.category_id as category_id, subcat.name as name, subcat.available as available, subcat.icon_id as icon_id, subcat.color_theme_id as color_theme_id, subcat.order as order, -subcat.item_type as item_type from main_subcategory subcat''' +subcat.item_type as item_type from main_subcategory subcat +inner join main_category cat on cat.id=subcat.category_id''' sql = sql_main + ''' inner join main_marker mark on mark.subcategory_id=subcat.id and ST_Contains(%s, mark.point)''' % area if equal_status: sql += ' and mark.status' + equal_status if filter_available: - sql += ' where subcat.available = TRUE' + sql += ' where subcat.available = TRUE and cat.available = TRUE' + print sql # django > 1.1 #subcats = SubCategory.objects.raw(sql) from django.db import connection, transaction @@ -377,7 +379,7 @@ and (ST_Intersects(%s, rt.route) or ST_Contains(%s, rt.route))''' % (area, area) if equal_status: sql += ' and rt.status' + equal_status if filter_available: - sql += ' where subcat.available = TRUE' + sql += ' where subcat.available = TRUE and cat.available = TRUE' # django > 1.1 #subcats += SubCategory.objects.raw(sql) cursor.execute(sql, []) |
