Как добавить статью в категорию при публикации
При добавлении через админку проходит все как положено, статья размещается в необходимой категории/подкатегории. При публикации через форму, статья не имеет категории
models
class Category(MPTTModel):
"""Определяем категории для статей"""
...
parent = TreeForeignKey('self', on_delete=models.CASCADE,null=True, blank=True, related_name='children', verbose_name='Главная категория')
class Post(models.Model):
"""Модель публикации статьи"""
STATUS_CHOICES = (
('draft', 'Черновик'),
('published', 'Опубликован')
)
rubrics = TreeManyToManyField(Category, related_name='rubrics', verbose_name='Категория')
....
forms
class AddPost(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'slug','content', 'rubrics', )
views
@login_required
def addPost(request):
if request.method == 'POST':
user_add_post = AddPost(request.POST)
if user_add_post.is_valid():
post_done = user_add_post.save(commit=False)
post_done.autor = request.user
post_done.save()
user = request.user
posts_autor = Post.objects.filter(autor__username=user).first()
post_id = posts_autor.id
post_slug = posts_autor.slug
return HttpResponseRedirect(reverse_lazy('blog:post_detail', args=[post_id, post_slug]))
else:
user_add_post = AddPost()
return render(request, 'account/add_post.html', {'user_add_post': user_add_post})