Обновление представления внутри детального представления

Прямо сейчас у меня есть одно детальное представление на основе класса и одно представление обновления на основе класса. Они полностью разделены и оба работают нормально. Интересно, можно ли объединить эти два вида? Чтобы пользователь мог обновлять свои данные прямо из детального представления, просто чтобы облегчить ему задачу.

Это мой файл models.py

class geography(models.Model):
student = models.ForeignKey(User, on_delete=models.CASCADE, null=False)
title = models.ForeignKey(Title, on_delete=models.CASCADE, null=False, max_length=120)
rep1 = models.DateField(blank=True, null=True)
rep2 = models.DateField(blank=True, null=True)
rep3 = models.DateField(blank=True, null=True)
rep4 = models.DateField(blank=True, null=True)
rep5 = models.DateField(blank=True, null=True)


def __int__(self):
    return self.pk

def get_absolute_url(self):
    return reverse('geography')

Это мой файл forms.py

class GeographyForm(forms.ModelForm):
class Meta:
    model = Geography
    fields = ('title', 'rep1', 'rep2', 'rep3', 'rep4', 'rep5')

Это мой детальный просмотр

class GeographyDetailView(LoginRequiredMixin, UserPassesTestMixin, DetailView):
model = Geography

def test_func(self):
    Geography = self.get_object()
    if self.request.user == Geography.elev:
        return True
    return False

Это мой обзор обновлений

class GeographyUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
model = Geography
form_class = GeographyForm

def form_valid(self, form):
    form.instance.student = self.request.user
    return super().form_valid(form)

def test_func(self):
    Geography = self.get_object()
    if self.request.user == Geography.student:
        return True
    return False

Я попробовал "FormMixins" в детальном представлении, но не смог заставить его работать.

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