django createview 如何获取创建的对象

标签 django django-class-based-views create-view

我有两个串联的表格。基本上用户填写第一个表单,然后被重定向到第二个表单,第二个表单为第一个表单的数据增加值(value)。 例如。我有一个表单电影(第一个表单),然后我被重定向到将 Actor 添加到电影中的表单( Actor )。

在我的例子中,Movie = Chiamata 和 Actor = Offerta(我根据需要保留意大利名字 :D)

很好。

那些是我在 urls.py 中的 url

url(r'^chiamata/$', ChiamataCreate.as_view(),name='chiamata_create'),
url(r'^chimamata/(?P<pk>\d+)/offerta$', OffertaCreate.as_view(), name='offerta_create'),

我有这个创建 View

class ChiamataCreate(CreateView):
    template_name = 'chiamata_form.html'
    form_class = ChiamataForm
    success_url=reverse_lazy('offerta_create',args=(??,))

现在的问题是如何获得由 chiamataForm 创建的对象的 PK。我需要将它添加到 offerta_create 的 url。

最佳答案

也许您可以使用 get_success_url() 方法 ( see reference )

在这种情况下,它会是这样的:

def get_success_url(self):
    return reverse('offerta_create',args=(self.object.id,))

关于django createview 如何获取创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13309479/

相关文章:

python - Django - 标题之前的脚本输出结束

django.core.exceptions.ImproperlyConfigured : CreateView is missing a QuerySet

django - 你如何在 Django 中使用 get_context_data 和 TemplateView

Mysql:如何创建一个列,该列是表中的列与 View 中的另一列之间的差异

python - Django 创建 View : Append ForeignKey to CustomForm Data

python - key 错误 : Django Losing Session Data Between CBV Redirects

python - 没有id无法导入

django - 在Django中自定义Json序列化器的格式?

python - 从另一个基于类的 View 中调用基于类的 View

oracle - Oracle中创建虚拟 View 时出现错误代码