gpt4 book ai didi

python - 如何覆盖 UpdateView 生成的表单的 clean 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:30 24 4
gpt4 key购买 nike

是否可以覆盖由 Class Based View - UpdateView 生成的表单的 clean 方法

form 中,我会覆盖 clean 方法来检查第一个或第二个字段是否已填充。

表格是这样的:

class MyForm(forms.ModelForm):
...
def clean(self):
super(MyForm,self).clean()
if bool(self.cleaned_data['first_field'])== bool(self.cleaned_data['first_field']):
raise ValidationError("Please, fill the first or second field")

查看:

class EditOrderView(UpdateView):
model = Job
fields = ['language_from', 'language_to', 'level', 'short_description', 'notes',
'first_field', 'second_field']
template_name = 'auth/jobs/update-order.html'

def get_object(self, queryset=None):
return get_object_or_404(self.model, pk=self.kwargs["pk"], customer=self.request.user)

def get_success_url(self):
return '/my-orders/'

def form_valid(self, form):
self.order = form.save()
email.AdminNotifications.edited_order(self.order)
return HttpResponseRedirect(self.get_success_url())

最佳答案

您可以通过设置 form_class 使您的 View 使用您的表单.

class EditOrderView(UpdateView):
model = Job
form_class = MyForm
...

关于python - 如何覆盖 UpdateView 生成的表单的 clean 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com