我正在为新闻网站编写代码。新闻模型中有“类别”。
现在,我想获得所有名为“观点”类别的新闻。但是得到: 以int()为基数10的无效文字:“观点”
这是我的新闻模型的一部分:
return new ResponseEntity<String>("bar", HttpStatus.OK);
这是我的类别模型:
class News(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name="cate", blank=True, verbose_name='分类')
这是我观点的一部分:
class Category(models.Model):
name = models.CharField(max_length=40) # 分类名
class Meta:
verbose_name = "分类"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
这是我的index.html
的一部分class NewsView(View):
def get(self, request):
opinion_news = News.objects.filter(category="opinion")
return render(request, 'index.html', {
'opinion_news': opinion_news,
})
有什么朋友可以帮忙吗?非常感谢!
答案 0 :(得分:1)
默认情况下,通过外键使用id字段(整数)进行过滤。要使用类别模型的另一个字段,请使用__fieldname
语法。例如,如果category
模型具有name
字段:
opinion_news = News.objects.filter(category__name="opinion")