Как исправить `TypeError: 'AnonymousUser' object is not iterable` в Django

Я использую LoginRequiredMixin в Django. Однако я получаю ошибку. TypeError: 'AnonymousUser' object is not iterable

Это происходит в этой строке if Speaker.objects.filter(user=self.request.user, is_deleted=False).count() == 0: этого кода.

class SpeakerListView(LoginRequiredMixin, ListView):
    template_name = 'speaker/list.html'
    context_object_name = 'speakers'
    model = Speaker

    def dispatch(self, request, *args, **kwargs):
        # if user does not have speaker, redirect to create view
        if Speaker.objects.filter(user=self.request.user, is_deleted=False).count() == 0:
            messages.error(request, _('xxx'))
            return redirect('speech:speaker_add')
        return super().dispatch(request, *args, **kwargs)

Если вы знаете, как решить эту проблему. Пожалуйста, помогите мне!

необходимо проверить, аутентифицирован ли пользователь

class SpeakerListView(LoginRequiredMixin, ListView):
template_name = 'speaker/list.html'
context_object_name = 'speakers'
model = Speaker

def dispatch(self, request, *args, **kwargs):
    # if user does not have speaker, redirect to create view
    if request.user.is_authenticated and Speaker.objects.filter(user_id=request.user.id, is_deleted=False).count() == 0:
        messages.error(request, _('xxx'))
        return redirect('speech:speaker_add')
    return super().dispatch(request, *args, **kwargs)
Вернуться на верх