【问题标题】:get_success_url with arguments after creation创建后带有参数的 get_success_url
【发布时间】:2018-05-25 01:20:41
【问题描述】:

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

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

Product创建在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'

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 一直在找这个。你怎么知道它是self.object的对象?
    • @enchance 提到 in the docsCreateView
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    相关资源
    最近更新 更多