我有一个简单的多对多关系,概述如下:
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”的过滤器?
最佳答案
答案如下。
简而言之,您必须覆盖 get_queryset 方法。
http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-query-parameters
关于python - 如何使用 Django-Rest-Framework(多对多)按唯一属性进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17994716/