manager.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. from django.db.models.manager import Manager
  2. from django.contrib.gis.db.models.query import GeoQuerySet
  3. class GeoManager(Manager):
  4. "Overrides Manager to return Geographic QuerySets."
  5. # This manager should be used for queries on related fields
  6. # so that geometry columns on Oracle and MySQL are selected
  7. # properly.
  8. use_for_related_fields = True
  9. def get_queryset(self):
  10. return GeoQuerySet(self.model, using=self._db)
  11. def area(self, *args, **kwargs):
  12. return self.get_queryset().area(*args, **kwargs)
  13. def centroid(self, *args, **kwargs):
  14. return self.get_queryset().centroid(*args, **kwargs)
  15. def collect(self, *args, **kwargs):
  16. return self.get_queryset().collect(*args, **kwargs)
  17. def difference(self, *args, **kwargs):
  18. return self.get_queryset().difference(*args, **kwargs)
  19. def distance(self, *args, **kwargs):
  20. return self.get_queryset().distance(*args, **kwargs)
  21. def envelope(self, *args, **kwargs):
  22. return self.get_queryset().envelope(*args, **kwargs)
  23. def extent(self, *args, **kwargs):
  24. return self.get_queryset().extent(*args, **kwargs)
  25. def extent3d(self, *args, **kwargs):
  26. return self.get_queryset().extent3d(*args, **kwargs)
  27. def force_rhr(self, *args, **kwargs):
  28. return self.get_queryset().force_rhr(*args, **kwargs)
  29. def geohash(self, *args, **kwargs):
  30. return self.get_queryset().geohash(*args, **kwargs)
  31. def geojson(self, *args, **kwargs):
  32. return self.get_queryset().geojson(*args, **kwargs)
  33. def gml(self, *args, **kwargs):
  34. return self.get_queryset().gml(*args, **kwargs)
  35. def intersection(self, *args, **kwargs):
  36. return self.get_queryset().intersection(*args, **kwargs)
  37. def kml(self, *args, **kwargs):
  38. return self.get_queryset().kml(*args, **kwargs)
  39. def length(self, *args, **kwargs):
  40. return self.get_queryset().length(*args, **kwargs)
  41. def make_line(self, *args, **kwargs):
  42. return self.get_queryset().make_line(*args, **kwargs)
  43. def mem_size(self, *args, **kwargs):
  44. return self.get_queryset().mem_size(*args, **kwargs)
  45. def num_geom(self, *args, **kwargs):
  46. return self.get_queryset().num_geom(*args, **kwargs)
  47. def num_points(self, *args, **kwargs):
  48. return self.get_queryset().num_points(*args, **kwargs)
  49. def perimeter(self, *args, **kwargs):
  50. return self.get_queryset().perimeter(*args, **kwargs)
  51. def point_on_surface(self, *args, **kwargs):
  52. return self.get_queryset().point_on_surface(*args, **kwargs)
  53. def reverse_geom(self, *args, **kwargs):
  54. return self.get_queryset().reverse_geom(*args, **kwargs)
  55. def scale(self, *args, **kwargs):
  56. return self.get_queryset().scale(*args, **kwargs)
  57. def snap_to_grid(self, *args, **kwargs):
  58. return self.get_queryset().snap_to_grid(*args, **kwargs)
  59. def svg(self, *args, **kwargs):
  60. return self.get_queryset().svg(*args, **kwargs)
  61. def sym_difference(self, *args, **kwargs):
  62. return self.get_queryset().sym_difference(*args, **kwargs)
  63. def transform(self, *args, **kwargs):
  64. return self.get_queryset().transform(*args, **kwargs)
  65. def translate(self, *args, **kwargs):
  66. return self.get_queryset().translate(*args, **kwargs)
  67. def union(self, *args, **kwargs):
  68. return self.get_queryset().union(*args, **kwargs)
  69. def unionagg(self, *args, **kwargs):
  70. return self.get_queryset().unionagg(*args, **kwargs)