Django(25)

9mond·2023년 11월 16일
0

페이징

  • 장고 Pagination을 사용
  • page_obj 라는 객체가 제공
  • page_obj.next_page_number : 현재 페이지의 다음 페이지 번호를 반환한다. 정수형
  • page_obj.previous_page_number : 현재 페이지의 이전 페이지 번호를 반환한다. 정수형
  • page_obj.has_next : 다음 값이 있는지를 체크
  • page_obj.has_previos : 이전 값이 있는지를 체크
  • 게시글 페이징처리



검색기능

get_queryset

  • 주요 목적은 데이터베이스로부터 객체 목록을 검색하는데 있어서 특정 조건, 정렬, 필터링 등을 적용하여 원하는대로 커스터마이징 하는 것이다.
  • ListView에서 get_queryset을 사용하면 해당 뷰가 특정 모델의 객체 목록을 데이터베이스에서 가져온다.
  • DetailView에서 사용하면 특정 객체를 가져오는데 활용한다.
  • onclick 추가
  • id값 추가
  • javascript 추가
  • urls.py path 추가
  • PostSearch 클래스 생성
  • Q import



django ORM 다양한 필터링

  • username 컬럼이 'john'인 사용자 정확하게 찾기(__exact 또는 =)
    -> User.objects.filter(username__exact='john')

  • 대소문자 구분없이 username이 'John'이거나 'john'인 사용자 찾기(__iexact 또는 i=)
    -> User.objects.filter(username__iexact='john')

  • title에 'Django'를 포함하는 글 찾기(__contains 또는 __icontains)
    -> Article.objects.filter(title__contains='Django')

  • title이 'Django'로 시작하는 글 찾기(시작하는 문자열(__startwith)
    -> Article.objects.filter(title__startwith='Django')

  • title이 'Django'로 끝나는 글 찾기(끝나는 문자열(__endwith)
    -> Article.objects.filter(title__endwith='Django')

profile
개발자

0개의 댓글