如何使用Django-Rest-Framework(多对多)通过唯一属性进行查询

时间:2013-08-01 12:56:09

标签: python django rest django-rest-framework

我有一个简单的多对多关系概述如下:

class Client(models.Model):
    """
    just stores a Client hostname now
    """
    hostname = models.CharField(max_length=250, null=False, blank=False, unique=True)

    def __unicode__(self):
        """
        """
        return str(self.hostname)

class Run(models.Model):
    clients = models.ManyToManyField(Client)

使用django-rest-framework我现在有过滤器来识别特定客户端:

“/ api / runs /?clients = 1”与主键为1的客户端一起工作并检索所有运行。

如何启用允许“/ api / runs /?clients = myhostname”的过滤器?

2 个答案:

答案 0 :(得分:2)

答案如下。

简而言之,您必须覆盖get_queryset方法。

http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-query-parameters

答案 1 :(得分:1)