Django - запросить все записи, соответствующие текущему зарегистрированному пользователю - PullRequest
1 голос
/ 30 апреля 2020

Я изо всех сил пытаюсь понять, как форматировать запросы в представлениях - особенно в отношении текущего вошедшего в систему пользователя. Я хотел бы отобразить все книги, значение user_added которых соответствует текущему зарегистрированному идентификатору пользователя.

models.py

class books(models.Model):
        user_added = models.ForeignKey(User, default='1', on_delete=models.CASCADE)
        title = models.CharField(max_length=100)

Я использую * Модель и функциональность пользователей 1021 *

forms.py

class books_list(forms.ModelForm):
    class Meta:
        model = books
        fields = ['user_added', 'title']

views.py

class booksListView(ListView):
    def get_queryset(self):
        # id = ?

1 Ответ

1 голос
/ 30 апреля 2020

Вы можете фильтровать user_added с помощью self.request.user:

from django.contrib.auth.mixins import LoginRequiredMixin

class booksListView(LoginRequiredMixin, ListView):
    def get_queryset(self):
        return books.objects.filter(<b>user_added=self.request.user</b>)

Примечание : Вы можете ограничить представления для представления на основе классов для аутентифицированных пользователей с помощью LoginRequiredMixin mixin [Django -doc] .

...