モデルの 1 つで一連のフィルターを実行しています。具体的には、私のビューの 1 つで次のようなことをしています。
cities = City.objects.filter(name__icontains=request.GET['name']
cities = City.objects.filter(population__gte=request.GET['lowest_population']
return cities
ここで、別のタイプのフィルターをもう 1 つ追加したいと思います。具体的には、特定の郵便番号から一定の距離にある都市のみを含めたいと考えています。私はすでにこれに関連する機能を持っています。つまり、次のようなものです。
distanceFromZipCode(city, zipCode)
# This returns 110 miles, for example
django のクエリセット フィルタリングと、追加したい追加のフィルターを組み合わせるにはどうすればよいですか? 都市が単なるリストである場合、.filter() を使用して適切なラムダを渡すことができることを知っています (たとえば、関連する郵便番号からの距離が <100 の場合は true を返します)。
しかし、単純なリストではなく、クエリ セットを扱っているので、どうすればよいでしょうか?