Dango-filter показывает все проекты; однако должны отображаться только те проекты, которые создал пользователь.
Как у новичка у меня есть проблемы с Django. Я разработал фильтр django_filter. В файле views.py:
'''
class AufgabenView(LoginRequiredMixin, ListView):
model = Aufgaben
template_name = 'aufgaben/aufgaben.html'
# object_list bekommt einen Namen
context_object_name = 'aufgaben'
#paginate_by = 2
filterset_class = AufgabenFilter
# nur datensätze anzeigen, für die der User berechtigt ist.
def get_queryset(self):
queryset = super().get_queryset().filter(ersteller=self.request.user)
return queryset
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['filter'] = AufgabenFilter(self.request.GET, queryset=self.get_queryset())
context['number_results'] = context['filter'].qs.count()
return context
'''
К сожалению, отображаются все проекты. А также те, которые создали другие пользователи. from models.py:
'''
from django.db import models
from django.contrib.auth.models import User
from home.models import Projekt
from datetime import datetime
STATUS = ((0, "erledigt"), (1, "offen"), (2, "nachverfolgen"), (3, "ruht"))
class Aufgaben(models.Model):
datum = models.DateField(default=datetime.now)
schlagwort = models.CharField(max_length=255, null=True, blank=True)
aufgabe = models.CharField(max_length=255)
anmerkung = models.TextField(null=True, blank=True)
frist = models.DateField(null=True, blank=True)
aufgabenstatus = models.IntegerField(choices=STATUS, default=1)
erstellt_am = models.DateTimeField(auto_now_add=True)
ersteller = models.ForeignKey(User, on_delete=models.CASCADE)
projektbezug = models.ForeignKey(Projekt, on_delete=models.CASCADE)
class Meta:
ordering = ['projektbezug','datum']
def __str__(self):
return str(self.aufgabe) + ' im Projekt: ' + str(self.projektbezug) '''
Как я могу отфильтровать набор запросов так, чтобы были видны только проекты авторизованного пользователя? Приветствую вас, Михаил