From d712ff043f1ab9b0902d215c19dfb9740d7589d6 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Thu, 28 Feb 2013 15:45:50 +0530 Subject: [PATCH] only get director, year and director if director was passed in query --- oxdata/movie/models.py | 8 ++++++-- oxdata/movie/views.py | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/oxdata/movie/models.py b/oxdata/movie/models.py index 8bd3926..942fc0a 100644 --- a/oxdata/movie/models.py +++ b/oxdata/movie/models.py @@ -249,7 +249,11 @@ class Match(models.Model): 'director': ';'.join(sorted(data.get('director', []))) } keys = [] - for k in cls.keys: + if not data['director']: + _keys = [k for k in cls.keys if k not in (['director', 'year'], ['director'])] + else: + _keys = cls.keys + for k in _keys: key = '\0'.join(k) value = '\0'.join([data[v] for v in k]) if isinstance(value, unicode): @@ -265,7 +269,7 @@ class Match(models.Model): matches = [] items = [] for key in cls.get_keys(data): - for m in cls.objects.filter(key=key).order_by('item__imdb'): + for m in cls.objects.filter(key=key).order_by('item__imdb').select_related(): if m.item.id not in items: matches.append(m.json()) items.append(m.item.id) diff --git a/oxdata/movie/views.py b/oxdata/movie/views.py index 3e9754a..e409ca6 100644 --- a/oxdata/movie/views.py +++ b/oxdata/movie/views.py @@ -29,7 +29,6 @@ def getIds(request): return render_to_json_response(response) actions.register(getIds) - def getData(request): response = json_response() data = json.loads(request.POST['data'])