1

以下に概説する単純な多対多の関係があります。

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" を許可するフィルターを有効にするにはどうすればよいですか?

4

2 に答える 2

1

これを試して:

filter(clients__hostname=clients)

https://docs.djangoproject.com/en/1.5/topics/db/queries/#spanning-multi-valued-relationshipsをご覧ください

于 2013-08-01T13:19:53.453 に答える