From 23f77df911c9c55ea538cd9dee37099edfc9f43c Mon Sep 17 00:00:00 2001 From: Ruud Date: Fri, 6 Sep 2013 00:23:52 +0200 Subject: [PATCH] Optimize profile queries --- couchpotato/core/plugins/profile/main.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/couchpotato/core/plugins/profile/main.py b/couchpotato/core/plugins/profile/main.py index 27963fba..68ab9360 100644 --- a/couchpotato/core/plugins/profile/main.py +++ b/couchpotato/core/plugins/profile/main.py @@ -5,6 +5,7 @@ from couchpotato.core.helpers.encoding import toUnicode from couchpotato.core.logger import CPLog from couchpotato.core.plugins.base import Plugin from couchpotato.core.settings.model import Profile, ProfileType, Movie +from sqlalchemy.orm import joinedload_all log = CPLog(__name__) @@ -55,7 +56,9 @@ class ProfilePlugin(Plugin): def all(self): db = get_session() - profiles = db.query(Profile).all() + profiles = db.query(Profile) \ + .options(joinedload_all('types')) \ + .all() temp = [] for profile in profiles: @@ -104,7 +107,9 @@ class ProfilePlugin(Plugin): def default(self): db = get_session() - default = db.query(Profile).first() + default = db.query(Profile) \ + .options(joinedload_all('types')) \ + .first() default_dict = default.to_dict(self.to_dict) db.expire_all()