• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

ClsModel.objects 인터페이스 질문

23.04.20 20:29 작성 23.04.20 21:05 수정 조회수 223

0

qs1: QuerySet = Post.objects.order_by('id').all()

qs2: QuerySet = Post.objects.order_by('id') -> 수업에서 사용한 방식

에서 qs1 처럼도 해보니

아래 코드블록처럼 두개의 결과가 똑같습니다.

<class 'django.db.models.query.QuerySet'>
SELECT "instagram_post"."id", "instagram_post"."message", "instagram_post"."photo", "instagram_post"."is_public", "instagram_post"."created_at", "instagram_post"."updated_at" FROM "instagram_post" ORDER BY "instagram_post"."id" ASC
<QuerySet [<Post: 첫번째 메세지>, <Post: 두번째 메세지>, <Post: 세번째 메세지>]>
<class 'django.db.models.query.QuerySet'>
SELECT "instagram_post"."id", "instagram_post"."message", "instagram_post"."photo", "instagram_post"."is_public", "instagram_post"."created_at", "instagram_post"."updated_at" FROM "instagram_post" ORDER BY "instagram_post"."id" ASC
<QuerySet [<Post: 첫번째 메세지>, <Post: 두번째 메세지>, <Post: 세번째 메세지>]> 

Q1.

둘다 내부적인 매카니즘이 똑같아서 아무거나 사용해도 되나요?

Q2.

똑같다하더라도 보통 어떤걸 많이 쓰나요 혹은 어떤걸 주로 쓰시고 그 이유는 무엇인가요?

답변 2

·

답변을 작성해보세요.

0

앗 그렇군요 막 혼자 해보다가 저런 코드가 되었습니다. 일반적인 관례를 따르도록 하겠습니다!

+ 그리고 장고설계철학 강의에서 폰트관련 질문 하나 드렸는데 시간되실때 답변 부탁드려도 될까요?
아래 질문 입니다..ㅎㅎ


제목: 파이참 한글 폰트가 궁금합니다

내용: 강좌( 장고설계철학 강의) 잘 듣고 이어서 강의를 듣는 수강생 입니다.

좋은 강의 감사드립니다.

혹시 강의 중 파이참에 사용하신 한글 폰트가 무엇인지 궁금합니다

감사합니다

폰트는 서울남산체입니다. :-)

감사합니다!!

0

안녕하세요.

모델클래스에서는 디폴트 ModelManager로서 .objects를 지원합니다.

.objects 에서는 .all() 을 통해서 전체를 조회하는 QuerySet 객체를 반환받을 수 있습니다.

그러니 Post.objects.all() 라고 쓰면 전체 Post를 조회하는 QuerySet인거죠.

그럼 아래와 같이 QuerySet 객체를 체이닝(chaining)해서 쓰는 것이 일반적인데요.

Post.objects.all().order_by("id")

.all() 을 생략하여 Post.objects.order_by("id") 처럼 쓰는 것과 동일합니다.

그런데, .all() 을 뒤에 쓰는 코드는 저도 써보질 않았는 데, .all() 을 가장 앞에 쓰는 것이 일반적인 코드입니다.

화이팅입니다. :-)