我需要限制与项目相关的标签数量。它总是应该是最多5个标签。
tags = form.cleaned_data['tags']
item.tags = tags
item.save()
答案 0 :(得分:2)
我认为以干净的形式
进行此操作是个好主意class MyForm(forms.Form)
...
def clean_tags(self):
tags= self.cleaned_data['tags']
if len(tags.split(" ")) > 5:
raise forms.ValidationError("you can only add 5 tags")
return tags
修改强> 当您调用form.is_valid()时,将检查此项。发生错误时,会将其添加到form.tags.errors
修改强>
所以只是
return tags.split(" ")[:5]
答案 1 :(得分:1)
假设标签是一个集合或列表?!
tags = form.cleaned_data['tags']
if len(tags) < 5:
item.tags = tags
item.save()
else:
print "Oopsy"
你想要哼哼
tags = form.cleaned_data['tags']
item.tags = tags[:5]
item.save()