Django(15)

9mond·2023년 11월 14일
0
post-thumbnail
  • 매번 둘이 동일한 데이터를 넣어주는게 번거롭다.
  • prepopulated_fields : 장고에서 제공하는 기능,
  • 다른 필드의 값을 가지고 와서 자동으로 채울 수 있도록 함.
  • 이렇게 slug에도 자동으로 채워진다.
  • DB에서도 null값 가능, 폼 태그 입장에서도 null값이 가능하도록

categories


  • 수정
  • 삭제
  • 수정
  • 여기도 삭제

1. get_context_data

  • 장고의 ListView에서 상속된 메서드로, 컨텍스트 데이터를 가져오고 반환하는 역할
  • get_context_data를 오버라이드하여 컨텍스트에 추가적인 데이터를 포함할 수 있다.

  • import
  • 저 key값으로 base.html에 작성

  • 카테고리 개수를 나타나게 할거야

2. c.post_set.count

2-1. post_set

  • 장고 제공 기능
  • FK, Many To Many 등과 같이 관계형 필드(RelatedField)에서 사용할 수 있다.
  • relatedname_set이 기본 이름으로 세팅이 되어 있다.

2-2. c.post_set.count

  • 역참조를 통해 연결된 객체 수를 세는 기능이다.
  • "Post" 모델을 참조하는 다른 모델에서 역참조할 때 사용되는 이름이다.
  • 해당 카테고리에 속한 "Post" 객체의 개수를 세는 기능을 수행한다.
  • base.html에 추가


  • 미분류 항목과 개수를 보여줄거다.
  • filter(category=None) : select문에서의 조건문(where조건)
  • base.html에서 저 key값 추가

3. 조회 쿼리 set

3-1. 모든 객체 조회:

posts = Post.objects.all

3-2. 특정 조건을 만족하는 객체 조회:

posts = Post.objects.filter(title='django')

3-3. 일치하는 객체 하나를 조회(단일객체):

post = Post.objects.get(title='django')

3-4. 조건을 만족하는 객체 개수 조회:

count = Post.objects.filter(category=None).count()

3-5. 정렬된 객체 조회:

  • 작성일 기준 내림차순으로 정렬된 포스트 조회

    	posts = Post.objects.order_by('-create_at')

3-6. 일부 객체만 조회(페이징 처리할 때 많이 사용):

  • 처음 10개를 조회

    	posts = Post.objects.all()[:10]

3-7. 특정 필드만 선택해서 조회:

  • 제목만 조회
    	posts = Post.objects.calues('title')

3-8. 중복된 객체 제거:

distinct_titles = Post.objects.values('title').distinct()

3-9. 특정 기간동안 객체를 조회:

posts = Post.objects.filter(create_at__range=(start_date, end_date))

제목 위에 카테고리 넣기

  • view.py
  • 카테고리 없는 경우 미분류

post_detail에 카테고리 넣기

  • view.py 먼저 수정
  • 조건문

카테고리 페이지 이동





  • 카테고리를 클릭하면 list에 해당 카테고리만 조회되도록



profile
개발자

1개의 댓글

comment-user-thumbnail
2023년 11월 14일

정보에 감사드립니다.

답글 달기