Вместо такого переопределения вы можете просто переопределить метод get_queryset()
. Примерно так:
class StoreInfoView(UpdateView, LoginRequiredMixin):
model = Store
template_name = 'store/store_information.html'
form_class = StoreInfoForm
success_message = 'Updated'
success_url = reverse_lazy('store:store_home')
def get_queryset(self, *args, **kwargs):
queryset = super().get_queryset(*args, **kwargs)
return queryset.filter(user=self.request.user)
Таким образом, пользователи, не являющиеся собственниками, получат ошибку 404 при попытке обновления.
Кроме того, вам не нужно переопределять любые другие методы, такие как get()
и get_object()
метод.