相关疑难解决方法(0)

Django使用kwargs的成功网址

我试图修改我的get_success_url,如果有任何kwargs传递给它,我可以使用它们构建返回的URL.

以下是我到目前为止的情况:

class CalcUpdate(SuccessMessageMixin, UpdateView):
    model = Calc
    template_name = 'calc/cru_template.html'
    form_class = CalcForm

    def archive_calc(self, object_id):
        model_a = Calc.objects.get(id = object_id)
        model_b = Calc()

        for field in model_a._meta.fields:
            setattr(model_b, field.name, getattr(model_a, field.name))
        model_b.pk = None
        model_b.save()

        self.get_success_url(idnumber = model_b.pk)

    def form_valid(self, form):
        #objects
        if self.object.checked == True:
            object_id = self.object.id
            self.archive_calc(object_id)
        #save

    def get_success_url(self, **kwargs):         
        if  kwargs != None:
            return reverse_lazy('detail', kwargs = {'pk': kwargs['idnumber']})
        else:
            return reverse_lazy('detail', args = (self.object.id,))
Run Code Online (Sandbox Code Playgroud)

到目前为止,这只是keyerror详细介绍'idnumber' …

python django

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

django ×1

python ×1