2016-01-15 2 views
0

Я хотел бы добавить {'user': self.request.user} в заголовок списка ListAPIView.Добавить контекст в список ListAPIView

Например, ответ JSON будет выглядеть следующим образом:

[ 
    'user': testing_user, 
    { 
     id: 67, 
     slug: "slugy", 
    }, 
] 

Можно ли это сделать с этой точкой зрения?

class BookArchiveAPIView(generics.ListAPIView): 
    cache_timeout = 60 * 7 
    serializer_class = BookSerializer 
    queryset = Book.objects.all() 
+0

Я никогда не использовал DRF, но эта структура не имеет большого смысла, потому что api не должен смешивать список вещей с типом 'Book' и' user'. Не можете ли вы создать отдельный api для запроса только пользователя? –

+0

@ShangWang Чтобы отображать определенные элементы в моем приложении для iPhone, мне нужно увидеть, как пользователь просматривает api. Я мог бы сделать два запроса на url, но, очевидно, один из них был бы более эффективным. – jape

ответ

0

Я знаю его слишком поздно, но мне было нужно то же самое и просто найти в документации легко.

Вам не нужно передавать «request.user» в представление, потому что DRF уже дает его вам.

Вот пример:

class show_activities(generics.ListAPIView): 
serializer_class = ActivitySerializer 

def get_queryset(self): 
    username = self.request.user.username 
    return Activity.objects.filter(owner=username) 

Это легко найти на документации, но я отвечать за тех, кто не мог видеть его.