Я использую модуль django-taggit для пометки сообщений на своем веб-сайте, однако я хочу ограничить количество разрешенных тегов только 3. Я прочитал документацию и ничего не смог найти.
Вот моя модель для сообщений
class Post(models.Model):
author = models.ForeignKey(User,related_name='posts',on_delete=models.CASCADE)
title = models.CharField(max_length=75)
text = models.TextField()
#... other fields here
tags = TaggableManager()
def __str__(self):
return self.title
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
А теперь вот мнения
class PostListView(SelectRelatedMixin,TagMixin,ListView):
model = Post
hit_count = True
template_name = 'mainapp/post_list.html'
selected_related = ("user","group")
paginate_by = 10
context_object_name = 'posts'
queryset = models.Post.objects.all()
def get(self,request,):
posts = Post.objects.all().order_by('-published_date')
users = User.objects.exclude(id=request.user.id)
count= User.objects.all().count()
friend, created = Friend.objects.get_or_create(current_user=request.user)
friends = friend.users.all()
group = Group.objects.all()
args = {
'users':users, 'friends':friends, 'posts':posts, 'group':group,'count':count
}
return render(request, self.template_name, args)
def get_queryset(self):
return Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date')
Вот форма
class PostForm(forms.ModelForm):
class Meta():
model = Post
fields = ['title','text','group','image','file','tags','spoiler','NSFW']
widgets = {
'title':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'textareaclass editable'}),
}
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
self.fields['image'].required = False
self.fields['file'].required = False
Так что я хочу знатькак я могу ограничить количество тегов, которые пользователь может ввести для сообщения