Django Admin: How to access the request object in admin.py, for list_display methods?

后端 未结 9 1706
太阳男子
太阳男子 2020-12-13 14:30

I\'ve added a method highlight_link to my model\'s admin.py class:

class RadioGridAdmin(admin.ModelAdmin):
    
    list_display = (\'start_time\         


        
9条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-13 14:52

    Small code clarify for Diego Puente answer (python 3.6):

    class MyClassAdmin(admin.ModelAdmin):
        def __init__(self, model, admin_site): 
            self.request = None
            super().__init__(model, admin_site)
    
        def get_queryset(self, request):
            self.request = request      
            return super().get_queryset(request)
    

    So you can get self.request from any other method of MyClassAdmin.

    If define self.request in get_queryset method (without declaring it in __init__) PyCharm will generate warning Instance attribute attribute_name defined outside __init__.

提交回复
热议问题