Настройка
Я пытаюсь написать DeleteView, который будет удалять объект на основе его идентификатора. Объект является журналом, и я хочу сослаться на журнал, в котором в данный момент находится пользователь. Так, например, если пользователь1 находится в журнале «Работа», я хочу удалить этот конкретный журнал на основе идентификатора журнала, а не что-нибудь еще.
Насколько я понимаю, Django создает поля идентификаторов (Autofield) для каждой модели.
Ошибка
Это мое текущее представление:
class DeleteJournal(LoginRequiredMixin, DeleteView):
model = Journal
tempalte_name = 'delete_journal.html'
success_url = reverse_lazy('home')
def get_object(self, queryset=None):
id = self.kwargs['id']
return self.get_queryset().filter(id=id).get()
Я получаю сообщение об ошибке:
![enter image description here](https://i.stack.imgur.com/jpifa.png)
Как это можно решить, и почему оно не работает?
EDIT 1
urlpatterns = [
path('', CreateToJournal.as_view(), name='to-journals'),
path('<slug:slug>', ToJournalEntriesList.as_view(), name='to-journal-entries'),
path('<slug:slug>/delete', DeleteJournal.as_view(), name='delete-journal'),
]
Обратите внимание, я не хочу удалять на основе slug, поскольку журнал может иметь одинаковое имя и, следовательно, один и тот же slug для другого пользователя. Единственное уникальное значение - id, поэтому мне нужно get
id для «текущего» журнала.
Спасибо большое заранее, очень ценю всех, кто смотрит на это.