从表中选择不在Django中的另一个表中的值

时间:2016-04-07 17:46:10

标签: django model

以下是我的模特

class Paper(models.Model):
  name = models.CharField(max_length=200)
  year = models.CharField(max_length=6)

class Rating(models.Model):
  user = models.ForeignKey(User)
  paper = models.ForeignKey(Paper)
  Rating = models.CharField(max_length=1)

这是我想要做的事情

  1. 我想检索所有未评级的论文。 (我认为可以使用exclude()完成。但不知道该怎么做。)

  2. 检索所有评级的论文及其评级,以便可以传递给渲染模板

  3. 提前致谢:)

1 个答案:

答案 0 :(得分:0)

您可以使用字段查找__isnull的过滤器来检查相关项as described here.

是否存在

获取没有评级的所有纸张实例:

papers_without_ratings = Paper.objects.filter(rating__isnull=True)

获取具有评级的所有Paper实例:

papers_with_ratings = Paper.objects.filter(rating__isnull=False).distinct()