我有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'
答案 0 :(得分:4)
主键是self.object
的属性,而不是self
(视图本身)。
def get_success_url(self):
return reverse_lazy('accounts:detail_company', kwargs={'pk': self.object.pk})