2009-08-19 3 views
0

나는 이상한 문제에 부딪쳤을 때 mod_python, python, SQL Alchemy를 사용하여 웹 사이트에서 작업 해왔다. 모든 레코드에 대해 데이터베이스를 쿼리하면 정확한 결과 세트가 반환된다. 그러나 페이지를 새로 고칠 때 동일한 결과 집합이 추가 된 결과 집합을 반환합니다. 페이지를 새로 고침 할 때 더 많은 결과 세트가 서로 위에 놓여집니다.mod_python에 문제가 있습니까?

:

첫 페이지로드 10 개 결과

번째 페이지로드 20 개 결과 (각 2 개)

번째 페이지로드 30 개 결과 (각 3 개)

...

이 어떤 U인가 mod_python에 nderlying 문제가 있습니까? 나는 mod_wsgi를 사용할 때 이것을 실행하는 것을 기억하지 않는다.

+0

일부 코드 조각을 줄 수 있습니까? 도움이 될지도 몰라. – balpha

답변

0

나는 들어 본 적이 없지만,보고 싶지 않은 코드로 이야기하는 것은 불가능합니다.

아마도 결과 집합 목록을 전역 또는 공유 구성원으로 초기화 한 다음 응용 프로그램을 비었을 때 호출했을 때 그 결과를 추가했을 수 있습니까? 실수로 목록을 다시 사용하는 고전적인 방법은 함수에 기본 인수 값을 넣는 것입니다.

는 (같은 물론 mod_wsgi에 일어날 수 있습니다.)

+0

좋은 팁입니다. 쿼리 후 모델의 "results"목록을 비워 두겠다는 것이었지만,이 것을 다시 확인하고 그렇지 않은지 확인합니다. –

+0

문제는 단순히 개체를 밖으로 이동하고 메서드 내에서 로컬 변수에 결과를 저장하여 개체 생성자 내부에서 쿼리가 발생하여 문제가 해결되었습니다. 도와 주셔서 감사합니다! –

0

난 당신이 사용하고있는 기술 중 하나에 대해 알고하지 않습니다. 그러나, 사용중인 패키지에서 이것이 가능한 버그 일 가능성이 있다고 생각하기 전에, 한 가지를 고려해야합니다.

Occam's razor.

기본적으로, "당신은 정확히 같은 예측을 두 경쟁 이론이있을 때, 하나의 간단한 더 나은 것입니다."

두 가지 주요 이론은 사용중인 구성 요소 (다른 많은 사람들이 사용하는)에 버그가 있거나 코드에 버그가 있다는 것입니다. 코드에 버그가있을 가능성이 있습니다 (미안 해요).

나는이 아이디어를 내 코드와 함께 사용하며 문제가 발생할 때마다 내 코드로 밝혀졌습니다.

다른 사람들이 당신을 버그로 안내 할 수 있기를 바랍니다. 그리고 문제 코드를 게시하고 싶을 것입니다. 결과 집합을 지우거나 변수 (변수)가 예상보다 길게 유지되지 않을 수 있습니다.

+0

도전적으로 내 코드에 버그가있었습니다 :) –

+0

당신이 해결했기 때문에 기쁩니다. :-) –