Skip to content

Commit dd730c3

Browse files
committed
add get_queryset as perferred alternative to _meta.model
1 parent e7bf8e5 commit dd730c3

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Diff for: django_object_actions/utils.py

+9-6
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,15 @@ def decorated_function(self, request, queryset):
144144
# https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#writing-action-functions
145145
if not isinstance(queryset, QuerySet):
146146
try:
147-
model = queryset._meta.model
147+
# Django >=1.8
148+
queryset = self.get_queryset(request).filter(pk=queryset.pk)
148149
except AttributeError:
149-
# Django 1.5 does this instead, getting the model may be overkill
150-
# we may be able to throw away all this logic
151-
model = queryset._meta.concrete_model
152-
153-
queryset = model.objects.filter(pk=queryset.pk)
150+
try:
151+
# Django >=1.6,<1.8
152+
model = queryset._meta.model
153+
except AttributeError:
154+
# Django <1.6
155+
model = queryset._meta.concrete_model
156+
queryset = model.objects.filter(pk=queryset.pk)
154157
return func(self, request, queryset)
155158
return decorated_function

0 commit comments

Comments
 (0)