如何在Django中获得同一类别中的所有帖子 [英] How to get all the post in the same category in Django
本文介绍了如何在Django中获得同一类别中的所有帖子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写新闻网站.新闻模型中有类别".
I'm coding a news website.I have 'category' in News model.
现在,我想获取所有名为观点"类别的新闻.但是得到:对于以10为底的int(),无效的文字:'观点'
Now I want to get all the news in one of the categories named 'opinion'. But get: invalid literal for int() with base 10: 'opinion'
这是我的新闻模型的一部分:
here is part of my News model:
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
这是我观点的一部分:
class NewsView(View):
def get(self, request):
opinion_news = News.objects.filter(category="opinion")
return render(request, 'index.html', {
'opinion_news': opinion_news,
})
这是我的index.html
here is part of my index.html
{% for opinion in opinion_news %}
<li class="media">
<h>{{opinion.title}}</h>
</li>
{% endfor %}
有什么朋友可以帮忙吗?非常感谢!
Any friend can help?Thank you so much!
推荐答案
默认情况下,按外键使用id字段(整数)进行过滤.要使用类别模型的另一个字段,请使用 __ fieldname
语法.例如,如果 category
模型具有 name
字段:
By default filtering by foreignkey use id field (integer). To use another field of category model use __fieldname
syntax. For instance if category
model has name
field:
opinion_news = News.objects.filter(category__name="opinion")
这篇关于如何在Django中获得同一类别中的所有帖子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文