我有两个连接的形式。基本上用户填写第一种形式,然后重定向到第二种形式,这增加了第一种形式的数据的价值。 例如。我有一个表格电影(第一个表格),然后我被重定向到表格(演员),将演员添加到电影中。
在我的情况下,电影= Chiamata和演员= Offerta(我保留意大利人的名字,我需要的东西:D)
细
这些是我在urls.py中的网址
url(r'^chiamata/$', ChiamataCreate.as_view(),name='chiamata_create'),
url(r'^chimamata/(?P<pk>\d+)/offerta$', OffertaCreate.as_view(), name='offerta_create'),
我创建了这个视图
class ChiamataCreate(CreateView):
template_name = 'chiamata_form.html'
form_class = ChiamataForm
success_url=reverse_lazy('offerta_create',args=(??,))
现在问题是如何获得chiamataForm创建的对象的PK。我需要将它添加到offerta_create的网址。
答案 0 :(得分:44)
也许您可以使用get_success_url()
方法(see reference)
在这种情况下,它类似于:
def get_success_url(self):
return reverse('offerta_create',args=(self.object.id,))
答案 1 :(得分:0)
请在Why doesn't self.object in a CreateView have an id after saving to the database?上看到接受的答案 - 一旦我删除了&#34; id&#34;我的模型中的字段,让Django在每个模型上默认为自己的id AutoField,如答案中所推荐的那样,self.object.id在我的CreateView中工作正常。