특정 시나리오에서는 Django 뷰 내에서 원시 SQL 쿼리를 수행해야 합니다. 이 게시물에서는 이러한 쿼리를 효과적으로 실행하는 방법에 대해 설명합니다.
Django 뷰에서 원시 SQL 쿼리를 실행하려면 연결 모듈과 해당 커서() 메서드를 사용하여 설정합니다. 연결 및 커서. 커서를 사용하면 실행() 메서드를 사용하여 쿼리를 실행할 수 있습니다.
from django.db import connection cursor = connection.cursor() cursor.execute('SELECT count(*) FROM people_person')
쿼리에 필터를 적용하려면 필터를 지정하는 WHERE 절을 추가하세요. 조건.
cursor.execute('''SELECT count(*) FROM people_person WHERE vote = "yes"''')
쿼리 결과는 다음을 사용하여 검색할 수 있습니다. 커서의 fetchone() 메소드. 이는 결과 값을 포함하는 튜플을 반환합니다. 예를 들어, 위의 예에서 결과는 투표가 "yes"로 설정된 모든 Person 객체의 개수입니다.
row = cursor.fetchone() print(row) # Output: (12,)
원시 SQL 쿼리를 통합하려면 Django 뷰로 질문의 코드를 다음과 같이 수정할 수 있습니다:
from django.db import connection from app.models import Picture def results(request): cursor = connection.cursor() cursor.execute('''SELECT count(*) FROM app_picture''') all_count = cursor.fetchone()[0] cursor.execute('''SELECT count(*) FROM app_picture WHERE vote = "yes"''') yes_count = cursor.fetchone()[0] return render_to_response( 'results.html', {'all': all_count, 'yes': yes_count}, context_instance=RequestContext(request) )
위 내용은 Django 뷰에서 원시 SQL 쿼리를 효율적으로 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!