Jur*_*jak 7 django inline-formset
我需要清理内联formset中的特定字段,我无法弄清楚如何做到这一点.
我尝试过使用formsets def clean(self)方法,但不知道在哪里保存清理后的值.如果我尝试将清理后的值设置为" forms[0].data['field']我的QueryDict实例是不可变的"错误.
在"正常"形式中,它通过使用def clean_fieldXY(self)我的方法工作return cleaned_value.
请帮忙.
您可以将内联formset设置为使用表单类,然后可以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
Run Code Online (Sandbox Code Playgroud)
然后,在 myapp/views.py
from myapp.forms import InlineFormsetForm
from myapp.models import ParentRecord, ChildRecord
def editmything(request):
MyFormSet = inlineformset_factory(ParentRecord, ChildRecord, form=InlineFormsetForm)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |