피드로 돌아가기
Dev.toBackend
원문 읽기
.cursorrules 기반의 Modern Django 컨벤션 강제로 AI 생성 코드 품질 최적화
Cursor Rules for Django: The Complete Guide to AI-Assisted Django Development
AI 요약
Context
AI Assistant가 20년치 Django 레거시 데이터를 학습하여 N+1 Query 및 Synchronous I/O 등 안티 패턴을 생성하는 문제 발생. 특히 View 중심의 비대해진 로직과 비효율적인 Database 접근 방식이 프로덕션 환경의 성능 저하와 유지보수 비용 증가를 초래함.
Technical Solution
- .cursor/rules/*.mdc 모듈형 규칙 파일을 통한 도메인별(Model, View, Migration 등) AI 가이드라인 분리 적용
- Thin View, Fat Service/Model 구조 강제를 통한 비즈니스 로직의 재사용성 확보 및 View 코드 30라인 제한
- select_related 및 prefetch_related 명시적 사용과 only() 필터링을 통한 N+1 Query 원천 차단
- Database Transaction 내 Synchronous 외부 API 호출 금지 및 Celery Idempotent Task 설계를 통한 시스템 안정성 강화
- Migration 시 ALTER TABLE 부하 방지를 위해 RunPython 기반의 Chunk-batched Backfill 패턴 적용
- pytest-django 및 django_assert_num_queries를 통한 CI 단계에서의 Query 횟수 정량적 검증 체계 구축
실천 포인트
- View 내 비즈니스 로직 존재 여부 및 30라인 초과 여부 검토 - QuerySet 호출 시 select_related/prefetch_related 적용 여부 확인 - Model.save() 내 Blocking I/O 및 외부 API 호출 포함 여부 점검 - 대규모 테이블 Migration 시 RunPython을 통한 배치 처리 계획 수립 - CI 파이프라인 내 Query 횟수 검증 테스트 케이스 추가