django 학습-Q() 방법으로 조회

1384 단어 django
django에서 데이터베이스에 있는 내용을 조회할 때 여러 개의 조회 조건을 포함해야 할 때가 있는데 이때 Q() 방법을 사용하면 매우 편리하다.
Q 대상(django.db.models.Q)은 키워드 파라미터를 봉인하여 여러 개의 조회를 더욱 잘 적용할 수 있다.& (and), | (or), ~ (not) 조작부호를 조합해서 사용할 수 있으며, 하나의 조작부호가 두 개의 Q에 사용되는 대상이면 새로운 Q 대상을 만들 수 있습니다.
Order.objects.get(
    Q(desc__startswith='Who'),
    Q(create_time=date(2016, 10, 2)) | Q(create_time=date(2016, 10, 6))
)

Q 대상은 키워드 매개 변수 조회와 함께 사용할 수 있지만, 반드시 Q 대상을 키워드 매개 변수 조회의 앞에 두어야 한다.
올바른 쓰기:
Order.objects.get(
    Q(create_time=date(2016, 10, 2)) | Q(create_time=date(2016, 10, 6))
    desc__startswith='Who',
)

좋은 웹페이지 즐겨찾기