python - missing 1 required positional argument: 'queryset' -


i attempting update extended user model profile in admin.py actions. have been researching couple hours , have come short. receiving pc_add_1() missing 1 required positional argument: 'queryset' error, please help.

class profileadmininline(admin.stackedinline):     model = profile   class profileadmin(useradmin):     list_display = ['username', 'email', 'first_name', 'last_name', 'is_staff',                     'rewards_punch_card', 'rewards_tier', 'credits']     list_select_related = true     inlines = [profileadmininline]      actions = ['pc_add_1', 'pc_add_2', 'pc_add_3', 'pc_add_4', 'pc_add_5',                'pc_add_6', 'pc_add_7', 'pc_add_8', 'pc_add_9']      def rewards_tier(self, user):         return user.profile.rewards_tier      def rewards_punch_card(self, user):         return user.profile.rewards_current      def pc_add_1(self, request, user, queryset):          punch_card = user.profile.rewards_current         tier = user.profile.rewards_tier         credits = user.profile.rewards_credits          punch_cards_updated = queryset.update(punch_card + 1)          if punch_cards_updated == 10:             queryset.update(punch_card == 0)             if tier == 1:                 queryset.update(tier + 1)                 queryset.update(credits + 25)             elif tier == 2:                 queryset.update(tier + 1)                 queryset.update(credits + 35)             elif tier == 3:                 queryset.update(tier + 1)                 queryset.update(credits + 45)             elif tier == 4:                 queryset.update(tier + 1)                 queryset.update(credits + 55)             elif tier == 5:                 queryset.update(credits + 65)             elif tier == 6:                 queryset.update(credits + 65)          else:             pass 

traceback

internal server error: /admin/auth/user/ traceback (most recent call last):   file "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner     response = get_response(request)   file "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response     response = self.process_exception_by_middleware(e, request)   file "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response     response = wrapped_callback(request, *callback_args, **callback_kwargs)   file "/usr/local/lib/python3.5/site-packages/django/contrib/admin/options.py", line 544, in wrapper     return self.admin_site.admin_view(view)(*args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py", line 149, in _wrapped_view     response = view_func(request, *args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func     response = view_func(request, *args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/contrib/admin/sites.py", line 211, in inner     return view(request, *args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py", line 67, in _wrapper     return bound_func(*args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py", line 149, in _wrapped_view     response = view_func(request, *args, **kwargs)   file "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py", line 63, in bound_func     return func.__get__(self, type(self))(*args2, **kwargs2)   file "/usr/local/lib/python3.5/site-packages/django/contrib/admin/options.py", line 1569, in changelist_view     response = self.response_action(request, queryset=cl.get_queryset(request))   file "/usr/local/lib/python3.5/site-packages/django/contrib/admin/options.py", line 1305, in response_action     response = func(self, request, queryset) typeerror: pc_add_1() missing 1 required positional argument: 'queryset' [13/nov/2016 15:16:52] "post /admin/auth/user/ http/1.1" 500 106710 

you have method signature wrong:

def pc_add_1(self, request, user, queryset): 

for admin actions should be

def pc_add_1(self, request, queryset): 

now if want know admin user making change can find out request.user


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -