Вылетает ошибка No ApplicationReport matches given query

В моем приложении есть модель ApplicationReport. Это отчет к проекту. К этому отчету могут добавляться замечания(комментарии). Суть в том,что если есть замечания,надо отредактировать отчет и замечания удаляться. Само редактирование работает,но замечания не удаляются и выдается ошибка No ApplicationReport matches given query.

Добавлю пару фрагментов кода.

#views.py

class ReportUpdateView(LoginRequiredMixin, UpdateView, UserAuthenticatedMixin):
    """редактирование отчета"""
    model = ApplicationReport
    form_class = forms.ApplicationsReportUpdateForm
    template_name = 'applications/report_update_form.html'
    success_url = reverse_lazy('applications_reporting_url')

    def get_success_url(self):
        return reverse_lazy('update_remarks_url', kwargs={'pk': self.object.pk})


def delete_remarks(request, pk):
    obj = get_object_or_404(ApplicationReport, app=pk)
    remarks = ApplicationRemark.objects.filter(application=obj)
    remarks.delete()
    return HttpResponseRedirect(reverse_lazy('applications_reporting_url'))

#forms.py

class ApplicationsReportUpdateForm(forms.ModelForm):
    class Meta:
        model = ApplicationReport
        fields = ('upload', 'year', 'quarter')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for field in self.fields:
            self.fields[field].widget.attrs['class'] = 'form-control'

#urls.py

    path('report_update/<slug:pk>', views.ReportUpdateView.as_view(), name='report_update_url'),

    path('update_remarks/<int:pk>/', views.delete_remarks, name='update_remarks_url'),

#models.py

class ApplicationReport(models.Model):

    user = ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=CASCADE,
        default=1)
    app = ForeignKey(
        Application,
        on_delete=CASCADE,
        default=None,
        verbose_name='Заявка')

    upload = FileField(
        upload_to='reporting/', null=True,
        validators=[validate_file_extension])

    year = IntegerField(default=datetime.now().year)
    quarters = [
        (1, 1),
        (2, 2),
        (3, 3),
        (4, 4),
    ]
    quarter = IntegerField(_("За какой квартал отчет?"), choices=quarters)

    status = BooleanField(
        _("одобрен или нет"),
        default=False)

    approved = BooleanField(
        _("отправлен или нет"),
        default=False)

    def get_delete_url(self):
        return reverse('report_delete_url', kwargs={'pk': self.pk})

    def __str__(self):
        return self.app.project_name

Вопрос тут задаю впервые,если что-то не так,заранее извиняюсь :)


Ответы (1 шт):

Автор решения: SkyAdam

app=pk нужно было заменить на pk=pk

→ Ссылка