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