Джанго, проблемы с удалением записи? - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть вид удаления на основе классов Django

Он вызывается шаблоном (DetailsView, в нижней части которого есть кнопка, на которую я хочу нажать, чтобы удалить запись)

Код в шаблоне такой:

<div>
  <a href="{% url 'update_candidate' object.pk %}" class="button">Edit</a>
</div>

<form method="post" action="{% url 'delete_candidate' object.pk %}" class="inline">
  {% csrf_token %}
  <input type="hidden" name="object_pk" value="{{ object.pk}}">
  <button type="submit" name="delete" value="delete" class="link-button">
  </button>
</form>

update_candidate работает с использованием object.pk ... отображается страница с правильным объектом, но если я пытаюсь удалить, я получаюошибка

Метод запроса: URL запроса POST: http://127.0.0.1:8000/candidates/delete_candidate/1/ Версия Django: 2.0.6 Тип исключения: недопустимо сконфигурированное значение исключения: в DeleteCandidateView отсутствует QuerySet.Определение DeleteCandidateView.model, DeleteCandidateView.queryset или переопределить DeleteCandidateView.get_queryset ().

1014 * POST Переменная Значение object_pk '1' csrfmiddlewaretoken

'Vp3McmK88riynpBJ9U2yPRXNvI3i8ufeepY2FnRt1cktW7aw48p7JsYTnFWvk4kD' 1017 * удалить 'удалить'

У кого-нибудь есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 25 сентября 2018

Сообщение говорит, что некоторые из представлений, использующих общий CBV DetailView или DeleteView , имеют неправильную настройку, в этом случае, вероятно, в DeleteCandidateView отсутствуют некоторые из следующих обязательных атрибутов:

  • model,
  • queryset,

или вам нужно изменить DeleteCandidateView.get_queryset


Зависит отв общем представлении на основе классов, которое вы используете, но оно будет выглядеть примерно так:

class DeleteCandidateView(DetailView):

    model = DeleteCandidate # or whatever your model is called
...