Ogólnie najlepszą funkcją PostGIS dla takiego zapytania jest ST_DWithin() :
np. wszyscy klienci mieszkający w promieniu 1000 metrów od sklepu nr 1:
SELECT customers.*
FROM customers, shops
WHERE ST_DWithin(customers.the_geog, shops.the_geog, 1000)
AND shop.id = 1
ST_DWithin użyje indeksu przestrzennego który powinieneś był stworzyć i dlatego przewyższa ST_Distance.
Wydaje się, że w Django istnieje odpowiedni filtr o nazwie w obrębie :
D(m=5) zwraca obiekt odległości o długości 5 metrów
geom to geometria, z której chcesz obliczyć odległości do obiektów kodu pocztowego
dwithin() jest używaną funkcją
poly jest atrybutem geometrii obiektów kodu pocztowego
z = Zipcode(code=77096, poly='POLYGON(( 10 10, 10 20, 20 20, 20 15, 10 10))')