【发布时间】:2020-03-18 09:57:42
【问题描述】:
我有一个发票页面,每张发票 (factuur) 中都有项目(与 ForeignKey 的关系发票项目)。当我使用基于类的 deleteView 删除其中一个项目时,我想重定向回包含剩余项目的特定发票 ID。
urls.py:
path('factuur/<factuur_id>', views.facturen_detail_view, name='facturen_detail_view'),
path('delete/<int:pk>', views.FactuurItemDeleteView.as_view(), name='delete_factuurItem'),
views.py:
class FactuurItemDeleteView(BSModalDeleteView):
model = FactuurItems
template_name = 'delete_fitem.html'
success_message = 'Succes: factuur item is verwijderd.'
success_url = reverse_lazy('facturen_detail_view')
所以我想要的是在删除后将其重定向到 /factuur/factuur_id (我在单击删除按钮时所在的位置)。但是我如何重定向,因为我首先需要知道发票 ID(factuur_id)。我不知道如何使用基于类的视图方法来做到这一点。 当success_url如上时,它会尝试使用已删除的item.id重定向到factuur.id,这不是想要的情况。
【问题讨论】:
-
使用可以为
factuur制作list_view 并重定向到list_view 的url。因为删除记录后重定向到详情页没有意义 -
实际上我正在删除一项事实。不是事实本身。所以我需要回到factuur本身来查看factuur中剩余的项目。
-
列出所有事实的网址是什么?
-
所有事实:path('', views.facturen_view, name='facturen_view'),
-
单个事实:路径('factuur/
',views.facturen_detail_view,name='facturen_detail_view'),
标签: django