Dennis
Dennis

Reputation: 497

Django REST Framework - how to get all posts or only user's posts

everyone!

models.py:

http://pastebin.com/j50AdayS

serializers.py:

http://pastebin.com/1JZHUYRS

views.py:

http://pastebin.com/AH9U6fmG

url.py:

from .views import Register, UserList, UserDetail, PostList, PostDetail
from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [
    url(r'^register/$', Register.as_view()),
    url(r'^login/', obtain_jwt_token),
    url(r'^users/$', UserList.as_view(), name='user-list'),
    url(r'^users/(?P<pk>[0-9]+)/$', UserDetail.as_view(), name='user-detail'),
    url(r'^posts/$', PostList.as_view(), name='post-list'),
    url(r'^posts/(?P<pk>[0-9]+)/$', PostDetail.as_view(), name='post-detail'),
]

When I do request - http GET 127.0.0.1:8000/api/posts/ "Authorization: JWT blabla" - I get only the posts that belong to the user whose token I use in request.

But I need one more option - to get the posts of all users (via token) as well. Please, help, how can I do this?

Thanks!!!

Upvotes: 1

Views: 1405

Answers (1)

Frank Wiles
Frank Wiles

Reputation: 1608

You need to define another view exactly like PostList that doesn't override get_queryset(). Which is where things get limited down to just the user's Posts.

Upvotes: 1

Related Questions