У меня есть модель django, для которой я пишу свой вид удаления. Я получаю ошибку django.urls.exceptions.NoReverseMatch
. Это также логично, поскольку, когда я пытаюсь выполнить отладку и хочу вывести свой идентификатор с {{ model.id }}
, мое представление не показывает мне никакого идентификатора вообще. Когда я использую pk, он передается в моих URL.
Моя модель:
class UrlTrack(models.Model):
url = models.CharField(max_length=255, primary_key=True)
counter = models.BigIntegerField(default=0)
Мой взгляд:
class AnalyticsDeleteUrls(SingleObjectMixin, View):
model = UrlTrack
def get(self, request, *args, **kwargs):
obj = self.get_object()
if obj is not None:
obj.delete()
return redirect('list_history')
Мои URL:
path('history/delete/urls/<int:id>/', AnalyticsDeleteUrls.as_view(), name="history_url"),
Мой шаблон:
{% for item in url_tracks %}
<tr>
<td>{{ item.url }}</td>
<td>{{ item.counter }}</td>
<td> <a class="btn btn-danger" href="{% url 'history_url' item.id %}"> Delete </a>
</tr>
{% endfor %}
Вот также мой список:
class AnalyticsIndexView(StaffRequiredMixin, ListView):
template_name = 'analytics_list.html'
model = UrlTrack
context_object_name = 'url_tracks'
queryset = UrlTrack.objects.all()
def get_context_data(self, **kwargs):
context = super(AnalyticsIndexView, self).get_context_data(**kwargs)
context['object_viewed_list'] = ObjectViewed.objects.all()
return context
Почему идентификатор не существует? Я думаю, что Django передает это автоматически ....?
Любая помощь высоко ценится. Заранее спасибо