get_success_url创建后带参数

时间:2017-12-11 13:42:08

标签: django django-views django-class-based-views

我有2个部分,一个用于普通用户,一个用于管理员(与Django管理员无关)。例如,我有一个产品型号。

在模型中,我使用get_absolute_url为普通用户设置详细URL。

产品创建位于Admin部分,success_url需要使用新创建的Product DetailView。

我需要获取新的pk并使用get_success_url。

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

会给我以下错误:

'AccountCompanyCreateView' object has no attribute 'pk'

1 个答案:

答案 0 :(得分:4)

主键是self.object的属性,而不是self(视图本身)。

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