Python Django自定义UpdateView显示异常*和*返回对象

Python Django自定义UpdateView显示异常*和*返回对象,python,django,django-forms,Python,Django,Django Forms,我有一个特殊的UpdateView和ModelForm(用于我的条带集成),我想知道是否有一种方法可以以简单的方式返回对象并在页面上显示错误。我的直觉告诉我没有(因为异常会引发异常…),但任何洞察/输入都会很好 这是我的定制模型表单的clean方法,它与UpdateView相关联 def clean(self): if not self.user: raise forms.ValidationError("User needs to not be null.")

我有一个特殊的UpdateView和ModelForm(用于我的条带集成),我想知道是否有一种方法可以以简单的方式返回对象并在页面上显示错误。我的直觉告诉我没有(因为异常会引发异常…),但任何洞察/输入都会很好

这是我的定制模型表单的
clean
方法,它与UpdateView相关联

def clean(self):
    if not self.user:
        raise forms.ValidationError("User needs to not be null.")
    try:
        cream = CREAM.create_or_update(self.user, self.stripeToken)
        for field in self.Meta.fields:
            self.cleaned_data[field] = getattr(cream, field)
        return self.cleaned_data
    except Exception as e:
        raise forms.ValidationError(e.message)
这是我们的老朋友UpdateView提供的
get_object

def get_object(self):
    cream = CREAM.objects.filter(client=self.request.user)
    if cream.exists():
        return cream.get()
    else:
        return CREAM()

多谢

我不太清楚你在这里想要什么。表单ValidationError异常被表单本身捕获并转化为表单字段上的错误消息,因此它们不会妨碍您在视图中呈现所需的任何内容。我希望返回一个预先存在的对象,并显示错误。我目前的理解是,引发错误会阻止调用get_对象-这是真的吗..?也就是说-clean()方法可以返回您可以(重新)渲染的已清理数据。。。或者它可以引发异常。不,一点也不正确;
clean
方法与从get\u对象返回的内容无关。正如我所说,这个异常被表单捕获了。我不太确定你在这里要做什么。表单ValidationError异常被表单本身捕获并转化为表单字段上的错误消息,因此它们不会妨碍您在视图中呈现所需的任何内容。我希望返回一个预先存在的对象,并显示错误。我目前的理解是,引发错误会阻止调用get_对象-这是真的吗..?也就是说-clean()方法可以返回您可以(重新)渲染的已清理数据。。。或者它可以引发异常。不,一点也不正确;
clean
方法与从get\u对象返回的内容无关。正如我所说的,异常被表单捕获。