Django - объект 'module' не поддерживает назначение элементов

При нажатии на кнопку like в статье появляется следующая ошибка:

'module' object does not support item assignment

и это приводит к такому куску кода:

    def get_context_data(self, *args,**kwargs):
        stuff = get_object_or_404(Article, id=self.kwargs['pk']) #grab article with pk that you're currently on
        total_likes = stuff.total_likes()
        context["total_likes"] = total_likes
        return context

но когда я удаляю эту часть, функция работает нормально, но вы не видите лайки - единственный способ узнать, что она работает, это зайти в админку django и посмотреть, какой пользователь выделен.

my articles views.py:

class ArticleDetailView(LoginRequiredMixin,DetailView):
    model = Article
    template_name = 'article_detail.html'

    def get_context_data(self, *args,**kwargs):
        stuff = get_object_or_404(Article, id=self.kwargs['pk']) #grab article with pk that you're currently on
        total_likes = stuff.total_likes()
        context["total_likes"] = total_likes
        return context
def LikeView(request, pk):
    article = get_object_or_404(Article, id=request.POST.get('article_id')) 
    article.likes.add(request.user) #might need check later
    return HttpResponseRedirect(reverse('article_detail', args=[str(pk)]))

my articles models.py:

class Article(models.Model):
    title = models.CharField(max_length=255)
    body = RichTextField(blank=True, null=True)
    #body = models.TextField()
    date = models.DateTimeField(auto_now_add=True)
    likes = models.ManyToManyField(get_user_model(), related_name='article_post')
    author = models.ForeignKey(
        get_user_model(),
        on_delete=models.CASCADE,
    )
    
    def total_likes(self): 
        return self.likes.count()
    
    def __str__(self):
        return self.title
    
    def get_absolute_url(self):
        return reverse('article_detail', args=[str(self.id)])

полный снимок ошибки:

error picture

Вы импортировали модуль контекста, который не подходит для данного конкретного сценария.

PFB модифицировал код, который работает для меня.

class ArticleDetailView(LoginRequiredMixin, DetailView):
    model = Article
    template_name = "article_detail.html"

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(**kwargs)
        # grab article with pk that you're currently on
        stuff = get_object_or_404(Article, id=self.kwargs["pk"])
        total_likes = stuff.total_likes()
        context["total_likes"] = total_likes
        return context
Вернуться на верх