私はdjango-rest-frameworkとdjango-filterを使ってフィルタリングを実装しています。 結果、次のしているのは、私が言ってみましょう:toylist配列が空の場合django-filterでmany-to-manyリストが空であるかどうかをチェックする方法?
{
"id": 13,
"created": "2017-06-21T01:08:49.790254Z",
"updated": "2017-07-21T10:25:51.706730Z",
"toylist": [],
}
どのように私はフィルタリングを実装するのですが私は確認できますか?例えば、何かのように:
class ToysFilter(filters.FilterSet):
toylist__isnull = filters.BooleanFilter(name='toylist', method='list_is_empty')
class Meta:
model = Toys
fields = {
'id':['exact'],
'created':'__all__',
'updated':'__all__',
}
def list_is_empty(self, qs, name, value):
isnull = not value
lookup_expr = LOOKUP_SEP.join([name, 'isnull'])
return qs.filter(**{lookup_expr: isnull}).distinct()
現在のビュー/ビューセットクラスを投稿できますか? –
はい、ここにある: クラスToysViewSet(viewsets.ModelViewSet):。 permission_classes = [permissions.IsAuthenticated] \tクエリセット= Toys.objects.all()ORDER_BY( ' - 作成した') \t serializer_class = ToysSerializer \t filter_class = ToysFilter – okarimov
そして 'ToysFilter'クラスはフィルタリングを扱っているためです –