Возврат всех данных из django бэкэнда - PullRequest
2 голосов
/ 29 мая 2020

У меня такая проблема, что мой бэкэнд не возвращает все данные. Он возвращает строки таблицы базы данных, в которых токен зарегистрированного пользователя соответствует идентификатору пользователя модели.

Вот модель блога

 class Blog(models.Model):
    title = models.CharField(max_length=100)
    content = models.CharField(max_length=500)
    created_at = models.DateTimeField(auto_now_add=True)
    userID = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts', null=True)

А вот класс, который возвращает data

class BlogViewSet(viewsets.ModelViewSet):
    permission_classes = [
        permissions.IsAuthenticated
    ]

    serializer_class = BlogSerializer

    def get_queryset(self):
        return self.request.user.posts.all()

Как я могу вернуть каждую строку из базы данных независимо от пользователя, который ее опубликовал?

1 Ответ

0 голосов
/ 29 мая 2020

Ну, вы проинструктировали его вернуть .posts.all() вошедшего в систему пользователя. Если вы хотите вернуть все строки, вы можете просто вернуть:

from app.models import <b>Blog</b>

class BlogViewSet(viewsets.ModelViewSet):
    permission_classes = [
        permissions.IsAuthenticated
    ]

    serializer_class = BlogSerializer

    def get_queryset(self):
        return <b>Blog.objects.all()</b>

Вы также можете удалить разрешение IsAuthenticated, если пользователям не нужно проходить аутентификацию для получения списка Blog s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...