여러 필터를 사용하여 모델에서 개체를 가져 오는 방법은 무엇입니까?

에브라임

모델에서 데이터를 검색하는 데 약간의 문제가 있습니다. 내 HTML에는 데이터에 대한 여러 필터를 얻는 양식이 있습니다. 예를 들어 품질 및 프리젠 테이션 변수가 있고 사용자가 필터링 할 방법을 선택하고 'key1 = value1 & key2 = value2 형식으로 쿼리를 보냅니다. '그리고 그런 것. 내 문제는 뷰에서 이것을 사용하여 데이터를 필터링하는 방법을 모른다는 것입니다.

쿼리에 형식을 부여하는이 작은 코드가 있습니다.

filt = {'quality':[],'presentation':[], 'color':[]}
quer1 = request.POST.get('value');
print quer1
quer = quer1.split('&')
for i in quer:
    val = i.split('=')
    filt[val[0]].append(val[1])

이것으로 필터링 할 데이터로 dict를 생성하지만 dict의 변수를 어떻게 얻을 수 있습니까?

내 말은

Products.objects.get(filt)

filt는 비어 있지 않은 목록 만 남긴 변수입니다.

수동으로 만들면 다음과 같을 것이라는 것을 알고 있습니다.

Products.objecs.get(quality__in = filt['quality'], presentation__in = filt['presentation'], color__in = filt[''color])

하지만 사용자가 값에 대한 값을 설정하지 않은 경우 딕셔너리에 빈 목록이되고 이로 인해 검색이 실패하게되므로 이렇게 만들고 싶지 않습니다. 설정되지 않은 속성을 검색하지 않고 null로 검색합니다.

그런데 사용자는 필터에서 하나의 변수에 대해 여러 매개 변수를 설정할 수 있습니다. 즉, 품질 = [1,2]입니다.

갈렌

미래 독자를위한 답변으로 내 댓글을 게시합니다 (아마도 처음에는 그렇게했을 것입니다).

Django의 필터 호출에 사전을 압축 해제하려면 다음을 수행하십시오.

Product.objects.filter(**filt)

트릭은 사전의 필드가 객체의 필드에 매핑되어야한다는 것입니다. 따라서 값이 목록이면 다음이 작동합니다.

{ "<field_name>__in": [] }

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django : 여러 모델에서 날짜별로 객체를 가져 오는 방법은 무엇입니까?

분류에서Dev

jquery를 사용하여 중첩 된 JSON 개체에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

동일한 모델에서 가져 오는 여러 collection_select 상자를 사용하는 방법은 무엇입니까?

분류에서Dev

ID가있는 배열에서 여러 개체를 가져 오는 방법은 무엇입니까?

분류에서Dev

Python에서 여러 매개 변수를 사용하여 API 끝점에서 데이터를 올바르게 가져 오는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 다른 개체에서 개체를 가져 오는 LINQ 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

각 개체에 여러 필드가있는 ehcache를 사용하여 캐시에 개체 배열을 추가하는 방법은 무엇입니까?

분류에서Dev

C #에서 Linq를 사용하여 DataSet에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

react를 사용하여 three.js 모듈에서 TrackballControls를 가져 오는 방법은 무엇입니까?

분류에서Dev

Marionette CollectionView를 사용하여 서버에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

axois를 사용하여 React의 API에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

LINQ를 사용하여 XML 파일에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

PHP에서 함수를 사용하여 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Java를 사용하여 MongoDB 버전 3.4에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Java에서 객체 배열을 사용하여 정보를 가져 오는 방법은 무엇입니까?

분류에서Dev

ffmpeg에 여러 필터를 추가하는 방법은 무엇입니까?

분류에서Dev

curl을 사용하여 API에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

iOS에서 UIImagePickerController를 사용하여 photoGallery에서 비디오를 가져 오는 방법은 무엇입니까?

분류에서Dev

over를 사용하여 데이터 프레임에 좌표를 가져 오는 방법은 무엇입니까?

분류에서Dev

한 테이블의 외래 키를 여러 번 사용하여 Laravel에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

루프를 사용하여 GAMS의 여러 Excel 시트에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

OpenCV를 사용하여 이미지의 중심 개체 만 가져 오는 방법은 무엇입니까?

분류에서Dev

Android 전화에서 개인 키를 사용하여 자체 서명 된 certificate.ca를 가져 오는 방법은 무엇입니까?

분류에서Dev

boto3 라이브러리가있는 버전을 사용하여 s3에서 객체를 가져 오는 방법은 무엇입니까?

분류에서Dev

angularjs를 사용하여 입력에서 기본값을 가져 오는 방법은 무엇입니까?

분류에서Dev

MVC-단일 뷰에서 여러 뷰 모델의 데이터를 사용하는 가장 좋고 깨끗한 방법은 무엇입니까?

분류에서Dev

curl을 사용하여 권한이 필요한 웹 사이트에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Android에서 XMLPULLPARSER를 사용하여 XML에서 항목을 가져 오는 방법은 무엇입니까?

분류에서Dev

ArrayList에 포함 된 개체에서 모든 하위 필드를 가져 오는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Django : 여러 모델에서 날짜별로 객체를 가져 오는 방법은 무엇입니까?

  2. 2

    jquery를 사용하여 중첩 된 JSON 개체에서 값을 가져 오는 방법은 무엇입니까?

  3. 3

    동일한 모델에서 가져 오는 여러 collection_select 상자를 사용하는 방법은 무엇입니까?

  4. 4

    ID가있는 배열에서 여러 개체를 가져 오는 방법은 무엇입니까?

  5. 5

    Python에서 여러 매개 변수를 사용하여 API 끝점에서 데이터를 올바르게 가져 오는 방법은 무엇입니까?

  6. 6

    C #을 사용하여 다른 개체에서 개체를 가져 오는 LINQ 쿼리를 작성하는 방법은 무엇입니까?

  7. 7

    각 개체에 여러 필드가있는 ehcache를 사용하여 캐시에 개체 배열을 추가하는 방법은 무엇입니까?

  8. 8

    C #에서 Linq를 사용하여 DataSet에서 데이터를 가져 오는 방법은 무엇입니까?

  9. 9

    react를 사용하여 three.js 모듈에서 TrackballControls를 가져 오는 방법은 무엇입니까?

  10. 10

    Marionette CollectionView를 사용하여 서버에서 데이터를 가져 오는 방법은 무엇입니까?

  11. 11

    axois를 사용하여 React의 API에서 데이터를 가져 오는 방법은 무엇입니까?

  12. 12

    LINQ를 사용하여 XML 파일에서 데이터를 가져 오는 방법은 무엇입니까?

  13. 13

    PHP에서 함수를 사용하여 데이터를 가져 오는 방법은 무엇입니까?

  14. 14

    Java를 사용하여 MongoDB 버전 3.4에서 데이터를 가져 오는 방법은 무엇입니까?

  15. 15

    Java에서 객체 배열을 사용하여 정보를 가져 오는 방법은 무엇입니까?

  16. 16

    ffmpeg에 여러 필터를 추가하는 방법은 무엇입니까?

  17. 17

    curl을 사용하여 API에서 데이터를 가져 오는 방법은 무엇입니까?

  18. 18

    iOS에서 UIImagePickerController를 사용하여 photoGallery에서 비디오를 가져 오는 방법은 무엇입니까?

  19. 19

    over를 사용하여 데이터 프레임에 좌표를 가져 오는 방법은 무엇입니까?

  20. 20

    한 테이블의 외래 키를 여러 번 사용하여 Laravel에서 데이터를 가져 오는 방법은 무엇입니까?

  21. 21

    루프를 사용하여 GAMS의 여러 Excel 시트에서 데이터를 가져 오는 방법은 무엇입니까?

  22. 22

    OpenCV를 사용하여 이미지의 중심 개체 만 가져 오는 방법은 무엇입니까?

  23. 23

    Android 전화에서 개인 키를 사용하여 자체 서명 된 certificate.ca를 가져 오는 방법은 무엇입니까?

  24. 24

    boto3 라이브러리가있는 버전을 사용하여 s3에서 객체를 가져 오는 방법은 무엇입니까?

  25. 25

    angularjs를 사용하여 입력에서 기본값을 가져 오는 방법은 무엇입니까?

  26. 26

    MVC-단일 뷰에서 여러 뷰 모델의 데이터를 사용하는 가장 좋고 깨끗한 방법은 무엇입니까?

  27. 27

    curl을 사용하여 권한이 필요한 웹 사이트에서 데이터를 가져 오는 방법은 무엇입니까?

  28. 28

    Android에서 XMLPULLPARSER를 사용하여 XML에서 항목을 가져 오는 방법은 무엇입니까?

  29. 29

    ArrayList에 포함 된 개체에서 모든 하위 필드를 가져 오는 방법은 무엇입니까?

뜨겁다태그

보관