Django updateview a _set from a model

У меня есть детальное представление

from django.shortcuts import get_object_or_404
class Dashboard (AdminStaffRequiredMixin, LoginRequiredMixin, ListView):
    model = User
    template_name = 'SCHUK/Dashboard.html'
    context_object_name = 'Dashboard'

def ansicht(request, pk):
    user = get_object_or_404(User, pk=pk)
    return render(request, 'SCHUK/Ansicht.html', context={'user': user})

class Ansicht(AdminStaffRequiredMixin, LoginRequiredMixin, DetailView):

    model = User
    template_name = 'SCHUK/Ansicht.html'
    context_object_name = 'Ansicht'

пока все хорошо. Моя гениальная идея состоит в том, чтобы просматривать данные пользователя по его имени пользователя. все мои модели привязаны к модели пользователя

class SchulverzeichnisTabelle(models.Model):

    Benutzer = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) 
    Konto = models.IntegerField(blank=True, null=True)
    S_Form = models.CharField(max_length=20, blank=True, null=True)
    Schulname = models.CharField(max_length=150, blank=True, null=True)
   etc

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

class SVAVerwaltung(LoginRequiredMixin, UpdateView):
    model = SchulverzeichnisTabelle
    fields = ['Konto', 'S_Form',
            'Schulname', 'SAB',
            'GL', 'Zuege',
            'Teilstandort', 'IH',
            'SSt_OGS', 'OGS_Grp',
            'VK', 'Z_SW',
            'Z_besG', 'U_Ausf',
            'U_Org', 'Schulleitung_Vorname',
            'Schulleitung_Nachname',
            'Lehrer_FK', 'GL_Lehrer_FK']

    template_name = 'SCHUK/SVAVerwaltung.html'
    context_object_name = 'SVAVerwaltung'


    def get_absolute_url(self):
      return reverse('Ansicht', args=[str(self.id)])

Моя цель - иметь две группы пользователей, обычные и персонал. обычные просматривают свои собственные данные и могут только редактировать их, а персонал может просматривать данные пользователей и CRUD, а не только редактировать.

Можно ли как-то заставить url детального просмотра меняться местами с updateview. Было бы также хорошо, если бы он просто перенаправлял на предыдущий url или даже javascript timed event или обычный реверс с небольшой магией kwargs или что-то еще

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

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

Я даже попробовал весь подход через htmx, и это перенаправляет на правильный url, но показывает пустую страницу, я думаю, потому что перенаправляет на staff pk, а не detailview pk.

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

Святой Иисус, я кое-что нашел

    def get_success_url(self):
        pk = self.object.Benutzer.pk
        return (reverse('Ansicht', kwargs={'pk': pk}))

просто установите pk от пользователя fk из таблицы Schulverzeichnis. Это решило проблему для меня

Перенаправление на ту же страницу после метода POST с использованием представлений на основе классов

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