Как я могу ограничить количество тегов, которые могут быть связаны с элементом? - PullRequest
0 голосов
/ 14 сентября 2011

Мне нужно ограничить количество тегов, которые могут быть связаны с элементом.Всегда должно быть максимум 5 тегов.

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

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Я думаю, что это хорошая идея сделать это в чистом методе формы

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

EDIT Это будет проверено, когда вы вызовете form.is_valid ().При возникновении ошибки она добавляется в form.tags.errors

EDIT

, поэтому просто

return tags.split(" ")[:5]
1 голос
/ 14 сентября 2011

Предполагая, что теги - это набор или список?

...