Write queryset containing request from middleware outside of django's views

19 views
Skip to first unread message

valentin jungbluth

unread,
May 21, 2019, 5:32:47 AM5/21/19
to Django users
Hello guys,

I have a little question about request attribute in my function located in a menu.py file (not my view):

def list_of_edition(request):
   
""" Return list of editions
    :return queryset
    """

    instance
= NavbarMenuSettings.objects.filter(application=request.cur_app, display=True).order_by('order')
   
return instance

My request.cur_app is given by my middleware.py file:

class MultiSiteMiddleware:

   
def __init__(self, get_response):
       
self.get_response = get_response

   
def __call__(self, request):
        request
.cur_app = WebApplication.objects.get_current(request)
       
return self.get_response(request)

I would like to call list_of_edition() but I get each time the same issue:

TypeError: list_of_edition() missing 1 required positional argument: 'request'

I would like to now How I can handle my function in order to use it outside of views.py file ? 
I'm blocked since a moment and I don't find any way to do that.

Thank you
Reply all
Reply to author
Forward
0 new messages