From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.77) (envelope-from ) id 1Sq8ks-0003ny-7J for garchives@archives.gentoo.org; Sat, 14 Jul 2012 20:15:54 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 24E8DE059C; Sat, 14 Jul 2012 20:15:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id DAE68E059C for ; Sat, 14 Jul 2012 20:15:36 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A463F1B4145 for ; Sat, 14 Jul 2012 20:15:35 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 681A1E5433 for ; Sat, 14 Jul 2012 20:15:34 +0000 (UTC) From: "Slava Bacherikov" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Slava Bacherikov" Message-ID: <1342182837.43ed80e696fb1532ca2f6b693e4d9c9daf0fd668.bacher09@gentoo> Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/generic/ X-VCS-Repository: proj/gentoo-packages X-VCS-Files: gpackages/apps/generic/views.py gpackages/apps/packages/views.py X-VCS-Directories: gpackages/apps/packages/ gpackages/apps/generic/ X-VCS-Committer: bacher09 X-VCS-Committer-Name: Slava Bacherikov X-VCS-Revision: 43ed80e696fb1532ca2f6b693e4d9c9daf0fd668 X-VCS-Branch: master Date: Sat, 14 Jul 2012 20:15:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 5ecf8ef2-bf21-46cc-8c3d-4c8db5278c2d X-Archives-Hash: 10c69ab4f4affbf3b5069f850e670bc9 commit: 43ed80e696fb1532ca2f6b693e4d9c9daf0fd668 Author: Slava Bacherikov bacher09 org> AuthorDate: Fri Jul 13 12:15:57 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Fri Jul 13 12:33:57 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoo-packag= es.git;a=3Dcommit;h=3D43ed80e6 Fix bug with loading keywords from database --- gpackages/apps/generic/views.py | 6 +++--- gpackages/apps/packages/views.py | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/gpackages/apps/generic/views.py b/gpackages/apps/generic/vie= ws.py index bb0b6c7..e8b5cdc 100644 --- a/gpackages/apps/generic/views.py +++ b/gpackages/apps/generic/views.py @@ -73,9 +73,9 @@ class MultipleFilterListViewMixin(object): allowed_many =3D {} m2m_filter =3D set() =20 - base_queryset =3D None # should be queryset - def get_queryset(self): + query =3D super(MultipleFilterListViewMixin, self).get_queryset(= ) + qs =3D filter_req(self.request.GET, self.allowed_filter) qs.update(filter_req(self.kwargs, self.allowed_filter)) =20 @@ -92,7 +92,7 @@ class MultipleFilterListViewMixin(object): raise Http404('no such order') =20 qa =3D dynamic_filter(qs, self.allowed_filter, self.allowed_many= ) - queryset =3D self.base_queryset.filter(**qa).order_by(order) + queryset =3D query.filter(**qa).order_by(order) =20 for q in qs.iterkeys(): if q in self.m2m_filter: diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/v= iews.py index 4c9b113..be0ad02 100644 --- a/gpackages/apps/packages/views.py +++ b/gpackages/apps/packages/views.py @@ -25,6 +25,10 @@ class ArchesContexView(ArchesViewMixin, ContextView): ret.update({'arches': self.get_arches()}) return ret =20 + def get_queryset(self): + query =3D super(ArchesContexView, self).get_queryset() + return query.prefetch_keywords(self.get_arches()) + class ContextArchListView(ArchesContexView, ListView): pass =20 @@ -68,8 +72,7 @@ class EbuildsListView(ContextArchListView): select_related('package', 'package__virtual_package', 'package__virtual_package__category'). \ - prefetch_related('package__repository'). \ - prefetch_keywords(arches) + prefetch_related('package__repository') =20 class EbuildDetailView(ArchesContexView, DetailView): template_name =3D 'ebuild.html' @@ -78,8 +81,7 @@ class EbuildDetailView(ArchesContexView, DetailView): queryset =3D EbuildModel.objects.all(). \ select_related('package', 'package__virtual_package', - 'package__virtual_package__category'). \ - prefetch_keywords(arches) + 'package__virtual_package__category') =20 def get_object(self, queryset =3D None): pk =3D self.kwargs.get('pk') @@ -130,11 +132,11 @@ class PackagesListsView(MultipleFilterListViewMixin= , ContextArchListView): #INNER JOIN packages_virtualpackagemodel vp=20 #ON( `vp`.id =3D t.virtual_package_id) INNER JOIN `packages_category= model` cp #ON (vp.category_id =3D cp.id); - base_queryset =3D PackageModel.objects.all(). \ + queryset =3D PackageModel.objects.all(). \ select_related('virtual_package', 'virtual_package__category'). \ - prefetch_related('repository', 'herds', 'maintainers'). \ - prefetch_keywords(arches) + prefetch_related('repository', 'herds', 'maintainers') + #prefetch_keywords(['sparc-solaris', 'sparc64-solaris']) =20 class PackageDetailView(ArchesContexView, DetailView): template_name =3D 'package.html' @@ -143,8 +145,7 @@ class PackageDetailView(ArchesContexView, DetailView)= : queryset =3D PackageModel.objects.all(). \ select_related('virtual_package', 'virtual_package__category'). \ - prefetch_related('repository'). \ - prefetch_keywords(arches) + prefetch_related('repository') =20 def get_object(self, queryset =3D None): pk =3D self.kwargs.get('pk')