DJango Общая фильтрация представлений дат

Здравствуйте, мне очень нужна помощь с представлением даты. Мне нужно представление на основе прогноза по дате. У меня есть пользователи и сотрудники, пользователи имеют свои представления, а сотрудники могут видеть все, что сделал пользователь в своем представлении

прямо сейчас у меня есть приборная панель для сотрудников, где они могут выбрать вид пользователя

class Dashboard (AdminStaffRequiredMixin, LoginRequiredMixin, ListView):
    model = SchulverzeichnisTabelle
    template_name = 'SCHUK/Dashboard.html'
    context_object_name = 'Dashboard'


the view

    {% for Ansicht in Dashboard %}
      <tbody>
        <tr>
        <th scope="row"></th>
        <td><a href="{% url 'Ansicht' Ansicht.Benutzer.pk %}">{{Ansicht.Konto}}</a></td>
        <td><a href="{% url 'Ansicht' Ansicht.Benutzer.pk %}">{{Ansicht.Schulname}}</a></td>
        <td><a href="{% url 'Ansicht' Ansicht.Benutzer.pk %}">{{Ansicht.SAB}}</a></td>
        <td><a href="{% url 'Ansicht' Ansicht.Benutzer.pk %}">{{Ansicht.GL}}</a></td>
        <td><a href="{% url 'Ansicht' Ansicht.Benutzer.pk %}">{{Ansicht.Teilstandort}}</a></td>
    </tr>
    </tbody>
    {% endfor %}

Теперь, когда они просматривают одно представление, все данные, которые отображаются, являются _set из модели пользователя (вот почему я также не могу использовать простой фильтр django, потому что это набор, и я не знаю, как фильтровать только набор, но это просто побочное замечание)

class Ansicht(AdminStaffRequiredMixin, LoginRequiredMixin, DetailView):
    model = User
    template_name = 'SCHUK/Ansicht.html'
    context_object_name = 'Ansicht'

the view in short
  {% for Ansicht in Ansicht.schulverzeichnistabelle_set.all %}

{{Ansicht.Konto}}
{{Ansicht.S_Form}}
{{Ansicht.Schulname}}
{{Ansicht.SAB}}
{{Ansicht.GL}}

в основном то же самое, но не все записи в моделях, а только те, что от пользователя.

Итак, у пользователя есть одна школа, но несколько учителей в его школе. Сотрудники добавляют учителя к пользователю, и пользователь может редактировать некоторые вещи

class LehrerAktualisierenSchulleitung(LoginRequiredMixin, UpdateView):
    model = LehrerTabelle
    fields = '__all__'
    template_name = 'SCHUK/LehrerAktualisierenSchulleitung.html'
    context_object_name = 'LehrerAktualisierenSchulleitung'
    def get_success_url(self):
        return reverse('Schulverzeichnis', args=[self.request.user.pk])

Каждый учитель получает пользователя, чтобы _set мог показать сотрудникам только учителя, соответствующего пользователю / школе.

Сотрудники теперь могут делать такие предсказания

class PrognoseTabelle(models.Model):
    Benutzer = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) 
    Lehrer_FK = models.ForeignKey('LehrerTabelle', on_delete=models.SET_NULL, related_name='LehrerNName', null=True, blank=True)
    #######Status 1######
    von_Datum = models.DateField(null=True, blank=True)
    Status = models.CharField(max_length=20, null=True, blank=True)
    Stunden = models.CharField(max_length=20, null=True, blank=True)
    bis_Datum = models.DateField(null=True, blank=True)
    #######Status 2######
    von_Datum_2 = models.DateField(null=True, blank=True)
    Status_2 = models.CharField(max_length=20, null=True, blank=True)
    Stunden_2 = models.CharField(max_length=20, null=True, blank=True)
    bis_Datum_2 = models.DateField(null=True, blank=True)
    #######Status 3######
    von_Datum_3 = models.DateField(null=True, blank=True)
    Status_3 = models.CharField(max_length=20, null=True, blank=True)
    Stunden_3 = models.CharField(max_length=20, null=True, blank=True)
    bis_Datum_3 = models.DateField(null=True, blank=True)
    Erstellt_Datum_3 = models.DateField(null=True, blank=True)
    #######Status 4######

это от даты, статус, рабочие часы и до даты. сверху он привязан к учителю и пользователю для _set, чтобы показать сотрудникам только необходимые данные

Мне нужно иметь фильтр или в этом случае представление даты, которое может фильтровать на основе даты статус и рабочие часы для просмотра для сотрудников.

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

Как я могу теперь фильтровать его, я полностью потерян и боюсь, что я выбрал неправильный язык для этой задачи и должен перейти на что-то более фронтендовое. но django позволяет javascript, так что даже новый язык не нужен, это должно быть как-то возможно с javascript, но как я могу получить столько элементов или преобразовать их из модели в json, я имею в виду, если есть способ преобразовать все это в json из CBV, я бы тоже принял это как решение, потому что тогда фронтенд может просто взять это на себя

pls halp

Вернуться на верх