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

标签 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”的过滤器?

最佳答案

答案如下。

简而言之,您必须覆盖 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/

相关文章:

python - 如何在 Python 中将 xml 文本与前面的空元素关联起来?

django - 在 'git pull' 我的 Django 项目之后重启/重新加载 Gunicorn(通过 Upstart)的更好方法

python - 用python写的最好的搜索引擎

rest - OData 是 RESTful 的吗?

python - Pygame:使用 time.sleep 延迟轮询 REST 响应的函数会卡住游戏窗口

python - 使用 Tensorflow 概率进行分位数回归

python - 如何在 Python 中打印特定的 JSON 值?

python - 如何使用 python 脚本控制 TP LINK 路由器

python - Django 嵌套查询性能

node.js - Node.js 与 Tomcat 有何不同