Django : 쿼리 셋 속성이 클래스 기반 제네릭 뷰에서 작동하는 방식 이해하기

gglasses

Django에서 클래스 기반 제네릭 뷰를 사용할 때 queryset속성 이 있다는 것은 뷰가 작동 할 객체 컬렉션을 "제한"한다는 의미입니다.

쿼리 세트가 제공되면 해당 쿼리 세트가 개체의 소스로 사용됩니다. ( 장고의 get_object () )

모델:

from django.db import models

class Person(models.Model):
    full_name = models.CharField(max_length=30)
    is_active = False

전망:

from django.views.generic import DetailView
from books.models import Person

class PersonDetail(DetailView):
    queryset = Person.objects.filter(is_active=True)

queryset내용은 is_active=true.

그러나 이것이 내부적으로 어떻게 작동합니까?

예 : Django는 AND is_active=TRUE뷰의 모든 쿼리에 SQL 조건 추가합니까 ?

마지막 예는 꽤 어리석은 것처럼 보이지만 내 질문에 대한 아이디어를 얻으시기 바랍니다. 감사합니다.

솔라리스 모크

예, 이것이 정확히 일어나는 일입니다. 쿼리 세트는 뷰의 get_object메소드 에서 기본 쿼리 세트로 사용됩니다 . 그런 다음 추가 필터적용하여 특정 개체 (예 : ID 별)를 가져옵니다.

queryset = queryset.filter(pk=pk)

물론 뷰에는 쿼리 셋이 아닌 단일 객체가 필요하므로 다음을 수행합니다.

obj = queryset.get()

단일 객체 또는 DoesNotExist또는 MultipleObjectsReturned예외 를 반환합니다 . DoesNotExist결과는 404 MultipleObjectsReturned입니다. 처리되지 않고 코드에 전파됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django 클래스 기반 뷰-쿼리 셋 필터링 및 저장

분류에서Dev

다른 템플릿에서 양식 표시 및 제출을 위해 Django 클래스 기반 뷰를 작성하는 방법은 무엇입니까?

분류에서Dev

django는 클래스 기반 뷰 (ListView)에서 폼셋을 렌더링하고 유효성을 검사합니다.

분류에서Dev

제네릭 클래스를 기반으로 제네릭 인터페이스를 정의하는 방법

분류에서Dev

Django : 제네릭 뷰에서 빈 쿼리 셋 처리

분류에서Dev

쿼리 셋이 장고 제네릭 뷰에서 모델의 일부 값만 반환하면 어떻게 되나요?

분류에서Dev

Django 클래스 기반 제네릭 뷰 (CreateView) 국제화?

분류에서Dev

데코레이터에서 Django 클래스 기반 뷰에 속성을 추가 / 수정하는 방법은 무엇입니까?

분류에서Dev

Django에서 클래스 기반 뷰를 사용하여 Session_id를 테이블에 쓰는 방법

분류에서Dev

Django 클래스 기반 뷰 : 확장 모델에서 데이터를 가져 오기 위해 ID 대신 사용자 이름을 사용하는 방법

분류에서Dev

제네릭 클래스에서 nullable 형식을 처리하는 방법

분류에서Dev

django에서 페이지 매김이있는 단일 페이지 블로그에 대해 클래스 기반 뷰를 사용하는 방법

분류에서Dev

최신 성을 기반으로 Django 쿼리 셋에서 개체 제외

분류에서Dev

Django 1.9 용 클래스 기반 뷰 내에서 중복 메서드를 리팩터링하는 방법

분류에서Dev

Django에서 속성별로 쿼리 셋을 그룹화하는 방법

분류에서Dev

Django에서 함수 기반 뷰를 클래스 기반 뷰에 통합하는 방법은 무엇입니까?

분류에서Dev

Django에서 일대 다 관계의 하위 클래스에 쿼리 셋 필드를 제공하는 방법은 무엇입니까?

분류에서Dev

C #에서 제네릭 형식으로 인터페이스를 구현하는 클래스 팩토리?

분류에서Dev

기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

분류에서Dev

Django 클래스 기반 뷰-두 개의 모델 양식이있는 UpdateView-하나의 제출

분류에서Dev

제네릭 형식의 클래스를 반환하는 방법

분류에서Dev

C ++에서 제네릭 기본 클래스를 초기화하는 방법

분류에서Dev

Django 클래스 기반 뷰에서 외부 페이지로 리디렉션

분류에서Dev

장고에서 제네릭 뷰가 작동하는 방식

분류에서Dev

클래스 기반 뷰에서 ManyToMany 쿼리를 필터링하는 방법은 무엇입니까?

분류에서Dev

클래스에서 모든 데이터를 가져 오기 위해 루프에서 쿼리하는 방법

분류에서Dev

한 쿼리 셋을 다른 쿼리 셋에서 제외하는 Django

분류에서Dev

Django에서 쿼리 셋 데이터에 액세스하고 작업 수행

분류에서Dev

Django 클래스 기반 뷰에서 쿼리 매개 변수 전달

Related 관련 기사

  1. 1

    Django 클래스 기반 뷰-쿼리 셋 필터링 및 저장

  2. 2

    다른 템플릿에서 양식 표시 및 제출을 위해 Django 클래스 기반 뷰를 작성하는 방법은 무엇입니까?

  3. 3

    django는 클래스 기반 뷰 (ListView)에서 폼셋을 렌더링하고 유효성을 검사합니다.

  4. 4

    제네릭 클래스를 기반으로 제네릭 인터페이스를 정의하는 방법

  5. 5

    Django : 제네릭 뷰에서 빈 쿼리 셋 처리

  6. 6

    쿼리 셋이 장고 제네릭 뷰에서 모델의 일부 값만 반환하면 어떻게 되나요?

  7. 7

    Django 클래스 기반 제네릭 뷰 (CreateView) 국제화?

  8. 8

    데코레이터에서 Django 클래스 기반 뷰에 속성을 추가 / 수정하는 방법은 무엇입니까?

  9. 9

    Django에서 클래스 기반 뷰를 사용하여 Session_id를 테이블에 쓰는 방법

  10. 10

    Django 클래스 기반 뷰 : 확장 모델에서 데이터를 가져 오기 위해 ID 대신 사용자 이름을 사용하는 방법

  11. 11

    제네릭 클래스에서 nullable 형식을 처리하는 방법

  12. 12

    django에서 페이지 매김이있는 단일 페이지 블로그에 대해 클래스 기반 뷰를 사용하는 방법

  13. 13

    최신 성을 기반으로 Django 쿼리 셋에서 개체 제외

  14. 14

    Django 1.9 용 클래스 기반 뷰 내에서 중복 메서드를 리팩터링하는 방법

  15. 15

    Django에서 속성별로 쿼리 셋을 그룹화하는 방법

  16. 16

    Django에서 함수 기반 뷰를 클래스 기반 뷰에 통합하는 방법은 무엇입니까?

  17. 17

    Django에서 일대 다 관계의 하위 클래스에 쿼리 셋 필드를 제공하는 방법은 무엇입니까?

  18. 18

    C #에서 제네릭 형식으로 인터페이스를 구현하는 클래스 팩토리?

  19. 19

    기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

  20. 20

    Django 클래스 기반 뷰-두 개의 모델 양식이있는 UpdateView-하나의 제출

  21. 21

    제네릭 형식의 클래스를 반환하는 방법

  22. 22

    C ++에서 제네릭 기본 클래스를 초기화하는 방법

  23. 23

    Django 클래스 기반 뷰에서 외부 페이지로 리디렉션

  24. 24

    장고에서 제네릭 뷰가 작동하는 방식

  25. 25

    클래스 기반 뷰에서 ManyToMany 쿼리를 필터링하는 방법은 무엇입니까?

  26. 26

    클래스에서 모든 데이터를 가져 오기 위해 루프에서 쿼리하는 방법

  27. 27

    한 쿼리 셋을 다른 쿼리 셋에서 제외하는 Django

  28. 28

    Django에서 쿼리 셋 데이터에 액세스하고 작업 수행

  29. 29

    Django 클래스 기반 뷰에서 쿼리 매개 변수 전달

뜨겁다태그

보관