2016-03-10 6 views
1

Я использую этот library для DataTables в Джанго-отдых. Все работает нормально ожидать request.user сеанс в просмотрах. Мне кажется django-datatable не аутентифицирует токен пользователя, и поэтому request.user возвращает анонимного пользователя. И то же самое доступно даже без отправки токена пользователя в заголовках.Джанго - DataTables с Rest Framework

Вот мой код:

class MyDataTableView(BaseDatatableView): 
    """ 
    """ 
    model = MyModel 
    columns = [***columns** ] 
    order_columns = [***columns**] 

    def get_initial_queryset(self): 
     """ 
     initial queryset for 
     """ 
     self.request.user -----> returns antonymous user 

     queryset = self.model.objects 
     return queryset 

ответ

1

Вы пробовали подкласс BaseDatatableView и перезаписать его .get как:

def get(self, *args, **kwargs): 
    super().get(*args, **kwargs) 
    print(self.request) 

Я думаю, что get_initial_queryset может быть вызван до фактического запроса отправки, так пользователь анонимный. Когда вы просматриваете код django_datatables/mixins.py, есть микшинг под названием JsonResponseMixin. Метод GET несет прямую ответственность за обработку запросов, поэтому вы должны искать ответы на них. Самый простой способ - подклассировать его и перезаписать метод.

+0

Нет, я не перезаписываю, но обязательно посмотрю на это – user5594493

+0

Не работает, все еще 'AnonymousUser'. – user5594493

+0

Вы посылаете токен с запросом? –

Смежные вопросы