有必要清理视图中的字段还是只清理forms.py中的字段?
clean方法如何在ModelForm
中工作?
class Book(models.Model):
name = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
class BookForm(ModelForm):
class Meta:
model = Book
fields = ['name', 'authors']
def clean_name(self):
pass
def create(request):
if request.method == 'post':
form = Bookform(request.POST)
if form.is_valid():
#there itc necessary to do:
book.name = form.cleaned_data['name'] ?
cleaned_data或Clean((只能在表单数据经过验证后使用(例如在form.is_valid((之后(没有必要,但强制验证是最佳做法。因此,cleaned_data可以也应该只嵌套在is_valid或类似的检查中。
签出文档https://docs.djangoproject.com/en/3.2/ref/forms/validation/