반응형
Django 쿼리를 값 목록으로 필터링하려면 어떻게해야합니까?
나는 이것이 사소한 작업이라고 확신하지만 어떻게 수행되는지 알 수 없습니다.
이보다 더 똑똑해야합니다.
ids = [1, 3, 6, 7, 9]
for id in ids:
MyModel.objects.filter(pk=id)
나는 다음과 같은 하나의 쿼리로 그것들을 모두 얻으려고합니다.
MyModel.objects.filter(pk=[1, 3, 6, 7, 9])
Django 쿼리를 값 목록으로 필터링하려면 어떻게해야합니까?
로부터 장고 문서 :
Blog.objects.filter(pk__in=[1, 4, 7])
항목 목록이 있고 목록에서 가능한 값을 확인하려면을 사용할 수 없습니다 =
.
SQL 쿼리는 SELECT * FROM mytable WHERE ids=[1, 3, 6, 7, 9]
사실이 아닙니다. Django 제공 연산자 in
와 같은 쿼리가되도록 연산자 를 사용해야 SELECT * FROM mytable WHERE ids in (1, 3, 6, 7, 9)
합니다 __in
.
로부터 장고 문서 :
Blog.objects.in_bulk([1])
{1: <Blog: Beatles Blog>}
Blog.objects.in_bulk([1, 2])
{1: <Blog: Beatles Blog>, 2: <Blog: Cheddar Talk>}
Blog.objects.in_bulk([])
{}
Blog.objects.in_bulk()
{1: <Blog: Beatles Blog>, 2: <Blog: Cheddar Talk>, 3: <Blog: Django Weblog>}
Blog.objects.in_bulk(['beatles_blog'], field_name='slug')
{'beatles_blog': <Blog: Beatles Blog>}
참고 URL : https://stackoverflow.com/questions/9304908/how-can-i-filter-a-django-query-with-a-list-of-values
반응형
'Programing' 카테고리의 다른 글
INI 파일 읽기 / 쓰기 (0) | 2020.04.08 |
---|---|
코드 적용 범위 란 무엇이며 어떻게 측정합니까? (0) | 2020.04.08 |
기존 소스에서 새 프로젝트를 작성할 때 Eclipse "잘못된 프로젝트 설명" (0) | 2020.04.08 |
환경 cron을 시뮬레이션하는 방법은 다음과 함께 스크립트를 실행합니까? (0) | 2020.04.08 |
업스트림에 연결하는 동안 (13 : 권한 거부) : [nginx] (0) | 2020.04.07 |