在用户删除了一个PieceInstance之后,我想将他重定向到PieceInstance所属的片段。我使用默认的DeleteView,并希望将Piece id(通过ForeignKey引用的PieceInstance)传递给get_success_url方法。self.piece.pk
似乎没有得到相应块的id。在
模型.py
class PieceInstance(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text='Unique ID for this particular Piece across whole system')
piece = models.ForeignKey('Piece', on_delete=models.SET_NULL, null=True)
...
class Piece(models.Model):
title = models.CharField(max_length=200)
...
视图.py
^{pr2}$网址.py
path('piece/<int:pk>', views.PieceDetailView.as_view(), name='piece-detail')
用这个答案就知道了: DeleteView with a dynamic success_url dependent on id
这里是DeleteView类:
根据源代码,对象存储在
self.object
中,然后将其删除。因此您可以重定向到相关的piece
的主键,方法是:然而,问题是这是一个未记录的视图,因此Django视图有可能在没有这种行为的情况下被重写。在
如果这种行为不再发生,可能需要修补
^{pr2}$delete
函数:相关问题 更多 >
编程相关推荐