Обновление представления внутри детального представления
Прямо сейчас у меня есть одно детальное представление на основе класса и одно представление обновления на основе класса. Они полностью разделены и оба работают нормально. Интересно, можно ли объединить эти два вида? Чтобы пользователь мог обновлять свои данные прямо из детального представления, просто чтобы облегчить ему задачу.
Это мой файл 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" в детальном представлении, но не смог заставить его работать.