我有一个基于我的模型“配置”的表单:
models.py
class configuration(models.Model):
Num_ordre = models.CharField(max_length=15)
Composant = models.CharField(max_length=15)
Designation = models.CharField(max_length=15)
Qte_servie = models.IntegerField()
Qte_a_servir = models.IntegerField()
Lot = models.CharField(max_length=15)
Categorie = models.CharField(max_length=15)
Famille = models.CharField(max_length=15)
从这个模型中我使用UpdateView函数创建一个表单: views.py
class ComposantUpdate(UpdateView):
model = configuration
fields = '__all__'
template_name = 'accueil/exploitation/update_composant.html'
success_url = reverse_lazy('cahier', args=('OFTSP1611000853',))`
我的问题是success_url获取了我手动输入的参数:OFTSP1611000853,对应于pk = 1的configuration.Num_ordre。
我想把用户写的数据放在表格的相应字段中,而不是'OFTSP1611000853'。
如何收集此值?
答案 0 :(得分:0)
您应该使用get_success_url
。在里面获取用户数据,然后返回它,像这样:
def get_success_url(self, *args, **kwargs):
return reverse_lazy('cahier', kwargs={'pk': self.request.data.get('cahier_id')})