我的看法。该 View 在 news.tags 中包含错误
class NewsDetailView(DetailView):
model = News
template_name='news/detail_news.html'
context_object_name= 'news'
def get_context_data(self, **kwargs):
news=News.objects.all()
tags=news.tags.all()
context = super().get_context_data(**kwargs)
context['comments'] = Comment.objects.filter(news=self.object)
context['my_likes'] = Like.objects.filter(news=self.object)
context['popular_news'] = news.order_by("-count")[:6]
context['tags'] = tags
# context["tags"] = TaggableManager().bulk_related_objects(self.object)
self.object.count = self.object.count + 1
self.object.save()
return context
这是我的模型。我创建这个是为了制造新闻。我想在我的新闻中添加标签而不使用 TaggableManager()
class Tag(models.Model):
name = models.CharField(max_length=30)
class News(models.Model):
CATEGORY=(("0","Politics"),("1","Sports"),("2","Health"),("3","Business"),("4","International"),("5","Finance"))
title=models.CharField(max_length=250)
story= models.TextField()
count= models.IntegerField(default=0)
tags = models.ManyToManyField(Tag)
video_url = models.URLField(max_length=270, null=True) #makemigrations garna baki xa
category= models.CharField(choices=CATEGORY, max_length=2)
slug=models.SlugField(max_length=270,blank=True,null=True)
created_at=models.DateTimeField(auto_now_add=True)
updated_at=models.DateTimeField(auto_now=True)
cover_image=models.ImageField(upload_to="uploads")
author= models.ForeignKey(User, on_delete=models.SET_NULL,null=True)
video_image = models.ImageField(null=True)
def get_absolute_url(self):
return reverse("detail_news",kwargs={"category":self.get_category_display(), "pk":self.pk, "slug":self.slug})
最佳答案
希望能帮到你:
def get_context_data(self, **kwargs):
news=News.objects.all()
tags=news.tags_set.all() <--edit
关于python - 属性错误: 'QuerySet' object has no attribute 'tags' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59105762/