2010-03-30 5 views
1

나는 지리적 위치 지정을하고 있고, 장고에는 PointField가 없습니다. 그래서 저는 RAW SQL로 작성해야합니다. GeoDjango, 장고 라이브러리는 MySQL 데이터베이스에 대해 다음 쿼리를 지원하지 않습니다 (누군가가 나를 위해 확인할 수 있습니까?) GeoDjango 라이브러리는 MySQL 데이터베이스에서이 작업을 수행 할 수없는 이유는 nkow하지 않는Django 모델을 수정하는 것이 얼마나 힘듭니다?

cursor.execute("SELECT id FROM l_tag WHERE\ 
       (GLength(LineStringFromWKB(LineString(asbinary(utm),asbinary(PointFromWKB(point(%s, %s)))))) < %s + accuracy + %s)\ 

. 나는 두 점 사이의 거리를 계산하기 위해 RAW SQL을 작성하는 것이 싫다. 이 일을 처리 할 수있는 장고를위한 자체 라이브러리를 만들 수있는 방법이 있습니까? 그렇다면 얼마나 어렵습니까?

+0

어떤 버전을 사용하고 있습니까? Django 1.2에는 원시 SQL을 실행하는 새로운 방법이 있습니다. –

+0

1.0을 사용하고 있지만 1.2는 안정적이지 않습니까? – TIMEX

+0

잘 목표는 1.2에서 1.2를 릴리스하는 것입니다. 4 월 : http://www.djangoproject.com/weblog/2010/mar/23/django-1_2-release-schedule-update-2/ –

답변

0

왜 이미 수업을 연장하지 않으시겠습니까? 궁금해서 호기심을 갖고 내가 특별히 당신을 도울 수 있기를 바랍니다.

+0

그래, 어떻게해야합니까? 그? – TIMEX

+0

다음과 같은 형식 일 수 있습니다. http://wolfram.kriesing.de/blog/index.php/2007/extend-djangos-user-class – dscher

0

GeoDjango에는 PointField가 있습니다.

그것은 포스트 그레스에 당신이 (2010 년 4 월) MySQL을 작동하지 않습니다 dwithin 필드 조회를 수행하려는처럼 보이지만 않습니다

:

클래스 태그 (모델) : 점 = PointField()

Tag.objects.filter (point__dwithin = (점 D (MI = 4))) 질의,이 종류 조심

,이 테이블 검색을 필요로한다. 당신이 사각형 영역 내에 모든 지점을 선택 견딜 수있는 경우 경계 상자 포함 된 쿼리를 사용할 수 있습니다

Tag.objects.filter을 (point__contained = 기하 구조)

기하 구조는 다각형이다

.

관련 문제