如何限制可能与项目相关的标签数量?

时间:2011-09-14 11:57:00

标签: django tagging

我需要限制与项目相关的标签数量。它总是应该是最多5个标签。

        tags = form.cleaned_data['tags']
        item.tags = tags
        item.save()  

2 个答案:

答案 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()