如果我在Django中有两个模型:
class Blog(models.Model):
author = models.CharField()
class Post(models.Model):
blog = models.ForeignKey(Blog)
我想获得给定博客的所有帖子:
Blog.objects.get(author='John').post_set
如果有一个包含author ='John'的博客但没有帖子,则会引发一个DoesNotExist异常。这是什么最好的解决方案?我可以尝试一下:除了:在前端,一个自定义管理器方法,或者有没有办法通常覆盖Django返回一个空集。就我的目的而言,DoNot Exist没用。
或者,整个问题可以回避:
Blog.objects.select_related('post').get(author='John').post_set.values()
答案 0 :(得分:10)
您还可以使用Post.objects.filter(blog__author='John')