我想创建一个简单的博客,在按类别筛选的索引页面中显示5个新帖子。我读了另一个问题,但是当我尝试它时根本不起作用
list_blog_canada = Blog.objects.filter(category_id=1).order_by('publish')
我想知道这没有任何问题,问题出现在我的模型中?什么
models.py
class Category(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100, unique=True)
def __str__(self):
return self.title
class Blog(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100, unique=True)
content = models.TextField()
publish = models.DateTimeField(auto_now=True)
category = models.ForeignKey(Category)
的index.html
{% if listblogca %}
{% for entry in listblogca|slice:':5' %}
<ul><li><a href="/baiviet/{{ entry.slug }}/">{{ entry.title|truncatechars:25 }}</a></li></ul>
{% endfor %}
{% else %}
<h4>THERE ARE NO POSTS</h4>
{% endif %}
感谢您的阅读。我希望我能尽快得到你的帮助
答案 0 :(得分:2)
如果您想获得最新的帖子,则需要在-
方法中将order_by
符号添加到字段名称中:
list_blog_canada = Blog.objects.filter(category__id=1).order_by('-publish')
升序/降序的文档为here。
答案 1 :(得分:0)
似乎Blog对象没有category_id
字段。
以下是查询的一些文档 https://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships