Django中外键的过滤
我在Django里有几个模型,每个发布的博客都附带一个地点:
class Country(models.Model):
country_name = models.TextField()
class Town(models.Model):
country = models.ForeignKey(Country)
town_name = models.CharField(max_length=192)
class Blog(models.Model):
town = models.ForeignKey(Town)
我想根据国家名称来筛选这些博客,但当我尝试以下代码时,出现了“语法错误:关键字不能是表达式”的提示:
blog_list = Blog.objects.filter( town.country.country_name = 'Canada' ).order_by( '-id' )
有没有什么建议可以让我根据国家名称进行筛选呢?
1 个回答
19
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续进行。
比如说,你可能希望程序在用户输入一个数字后,检查这个数字是否大于10。如果是,那么程序就会执行某个动作,比如显示一条消息;如果不是,程序可能会做其他事情,或者什么都不做。
这种条件判断的方式在编程中非常常见,它帮助我们控制程序的流程,让程序能够根据不同的情况做出不同的反应。
blog_list = Blog.objects.filter( town__country__country_name = 'Canada' ).order_by( '-id' )