diff -r Django-1.0.2-final/django/contrib/gis/db/backend/postgis/__init__.py Django-1.0.2-final-patched/django/contrib/gis/db/backend/postgis/__init__.py
31a32
> 				    snaptogrid=SNAP_TO_GRID,
diff -r Django-1.0.2-final/django/contrib/gis/db/backend/postgis/query.py Django-1.0.2-final-patched/django/contrib/gis/db/backend/postgis/query.py
62a63
>     SNAP_TO_GRID = get_func('SnapToGrid')
diff -r Django-1.0.2-final/django/contrib/gis/db/models/manager.py Django-1.0.2-final-patched/django/contrib/gis/db/models/manager.py
65a66,68
>     def snaptogrid(self, *args, **kwargs):
>         return self.get_query_set().snaptogrid(*args, **kwargs)
> 
diff -r Django-1.0.2-final/django/contrib/gis/db/models/query.py Django-1.0.2-final-patched/django/contrib/gis/db/models/query.py
219a220,237
>     def snaptogrid(self, size=0.01, **kwargs):
> 	"""
>         Snap all points of the input geometry to the grid defined by
> 	cell size.
>         """
> 	if SpatialBackend.version[0]<1:
> 	    raise "Postgis version doesn't support SnapToGrid"
>         if not isinstance(size, (float, int)):
>             raise TypeError('Size of the grid must be float or int.')        
> 
> 	field_name = kwargs.get('field_name', None)
>         tmp, geo_field = self._spatial_setup('snaptogrid', field_name=field_name)
>         field_col = self._geocol_select(geo_field, field_name)
>         geo_col = self.query.custom_select.get(geo_field, field_col)
>         custom_sel = '%s(%s, %s)' % (SpatialBackend.snaptogrid, geo_col, size)
> 	self.query.custom_select[geo_field] = custom_sel
>         return self._clone()
> 
