gpt4 book ai didi

django - 如何清理 InlineFormSet 中的某个字段?

转载 作者:行者123 更新时间:2023-12-04 11:31:04 24 4
gpt4 key购买 nike

我需要清理内联表单集中的特定字段,但我不知道该怎么做。

我已经尝试过使用表单集 def clean(self)方法,但不知道在哪里保存清理过的值。如果我尝试将清洁值设置为 forms[0].data['field']我收到“此 QueryDict 实例是不可变的”错误。

在“正常”形式中,它使用 def clean_fieldXY(self) 起作用。其中我return cleaned_value的方法.

请帮忙。

最佳答案

您可以设置内联表单集使用表单类,然后您可以创建一个 clean场的功能。

myapp/forms.py :

class InlineFormsetForm(forms.Form)
myfield = forms.CharField(required=False, max_length=50)

def clean_myfield(self):
data = self.cleaned_data['myfield']
if data == 'badinput':
raise forms.ValidationError("I hates it!")
return data

然后,在 myapp/views.py
from myapp.forms import InlineFormsetForm
from myapp.models import ParentRecord, ChildRecord

def editmything(request):
MyFormSet = inlineformset_factory(ParentRecord, ChildRecord, form=InlineFormsetForm)

关于django - 如何清理 InlineFormSet 中的某个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686863/

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