Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从基于类的表单UpdateView django收集数据,以便在views.py中使用_Python_Django_Django Models_Django Forms_Django Views - Fatal编程技术网

Python 从基于类的表单UpdateView django收集数据,以便在views.py中使用

Python 从基于类的表单UpdateView django收集数据,以便在views.py中使用,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我有一个基于我的模型“配置”的表单: 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()

我有一个基于我的模型“配置”的表单:

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”


如何收集此值?

您应该使用
get\u success\u url
。在内部,获取用户数据,然后返回,如下所示:

def get_success_url(self, *args, **kwargs):         
    return reverse_lazy('cahier', kwargs={'pk': self.request.data.get('cahier_id')})

感谢的可能副本,它与self.request.POST.get('numero_ordre')一起工作我不知道self.request是一种方法!
self.request
几乎在您视图的任何方法中都可用。它通常与
self.request.POST
self.request.GET
一起使用。o/