'Using the same routines that Oracle does we can convert our
extra selection objects into Geometry and Distance objects.
TODO: Make converted objects \'lazy\' for less overhead.'

def convert_values(self, value, field, connection):

    if connection.ops.oracle:
        value = super(GeoQuery, self).convert_values(value, (field or GeomField()), connection)
    if (value is None):
        pass
    elif isinstance(field, DistanceField):
        value = Distance(**{field.distance_att: value})
    elif isinstance(field, AreaField):
        value = Area(**{field.area_att: value})
    elif (isinstance(field, (GeomField, GeometryField)) and value):
        value = Geometry(value)
    return value
