如何在django rest框架中通过实例过滤查询?

时间:2017-11-23 09:44:11

标签: python django django-rest-framework

我想使用名称为“example”的属性实例过滤所有注释对象。基本上我想得到所有评论,哪个项目名称是“示例”。我怎么做这个过滤?

 class Comment(models.Model):
     item = models.ForeignKey(Item, on_delete=models.CASCADE)
     owner = models.ForeignKey(Account, on_delete=models.CASCADE)
     message_body = models.TextField()
     is_read = models.BooleanField(default=False)
     created_at = models.DateTimeField(auto_now_add=True)


 class Item(models.Model):
     category = models.ForeignKey(ItemCategory, on_delete=models.PROTECT)
     owner = models.ForeignKey(Account, on_delete=models.PROTECT)

     name = models.CharField(max_length=150)
     description = models.CharField(max_length=1000)
     address = models.CharField(max_length=150, null=True)

感谢您的帮助!

4 个答案:

答案 0 :(得分:0)

Comment.objects.filter(item__name='example')

请参阅有关此主题的django文档:https://docs.djangoproject.com/en/1.11/ref/models/querysets/

答案 1 :(得分:0)

comments = Comment.objects.filter(item__name='example')

答案 2 :(得分:0)

在views.py中,你可以得到这样的结果。

语法: 的 Modelname.objects.filter(字段名='值&#39)

Comment.objects.filter(item__name='example')

答案 3 :(得分:0)

Comment.objects.filter(item__name__iexact = 'example')