Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MSSQL server 2013内置方法,返回给定纬度和经度的地球位置点_Sql Server_Django_Postgresql - Fatal编程技术网

Sql server MSSQL server 2013内置方法,返回给定纬度和经度的地球位置点

Sql server MSSQL server 2013内置方法,返回给定纬度和经度的地球位置点,sql-server,django,postgresql,Sql Server,Django,Postgresql,我是MSSQL服务器的新手,我已经将数据库从postgres更改为MSSQL 服务器2013。在此之前,我在Django(python)中使用了原始查询 应用程序和将my db更改为mssql后 postgres不在mssql sevrer中退出。那有什么建筑吗 在mssql服务器中的功能类似于ll_到_接地和接地距离 django中的GenericViewSet,其中添加了ORM的原始查询 为了使用存储过程解决我的问题,我创建了一个存储过程 过程,然后在django代码中执行它,这解决了 问题

我是MSSQL服务器的新手,我已经将数据库从postgres更改为MSSQL 服务器2013。在此之前,我在Django(python)中使用了原始查询 应用程序和将my db更改为mssql后 postgres不在mssql sevrer中退出。那有什么建筑吗 在mssql服务器中的功能类似于ll_到_接地和接地距离

django中的GenericViewSet,其中添加了ORM的原始查询

为了使用存储过程解决我的问题,我创建了一个存储过程 过程,然后在django代码中执行它,这解决了 问题

def list(self, request):
    '''docstring'''
    params = request.data
    distance_range = params['range'] * 1609.34 if 'range' in params and params['range'] else 2 * 1609.34
    queryset = ValetAt.objects.raw('''
        SELECT valetat.id, earth_distance(ll_to_earth({},{}), ll_to_earth(valetat.latitude, valetat.longitude)) as distance FROM valetat WHERE earth_box(ll_to_earth({},{}),{}) @> ll_to_earth(valetat.latitude, valetat.longitude) ORDER BY distance ASC;
    '''.format(params["latitude"], params["longitude"], params["latitude"], params["longitude"], distance_range))
    serializer = self.get_serializer(queryset, many=True)
    return Response(serializer.data, status=status.HTTP_200_OK)
def list(self, request):
    params = request.data
    dist_range = param['range'] * 1609.34 if 'range' in params and params['range'] else 2 * 1609.34
    que = User.objects.raw('''execute calDistanceEx @RADIUS = {}, @LAT = {}, @LONG = {}, @USER_ID={}, @GEO1 = NULL;'''.format(dist_range , params["lat"], params["long"], userId))
    serializer = self.get_serializer(que, many=True)
    return Response(serializer.data, status=status.HTTP_200_OK)