6.Django 학습노트--F조회와 Q조회
1033 단어 댕고의 공부노트.
Q, F 객체 가져오기:
from django.db.models import Q,F
F: 주요 역할(한 표 안의 내부 필드와 필드 간의 대비 작업) 1)과 모델 자체의 필드를 비교한다.예를 들면 다음과 같습니다.
Student.objects.filter(age__gt=F('age2'))
2) 필드에 수학적으로 연산합니다.예를 들면 다음과 같습니다.
Student.objects.filter(age__gt=F('age2') * 2)
Q: 대상에 대한 복잡한 조회 및 조작: 기본적으로 Django의 조회는 다음과 같습니다. 사용자가zhangsan이고age=18인 데이터를 찾습니다.
UserInfo.objects.filter(username='zhangsan',age='18')
또는 작업: 실행이나 작업이 필요하면 Q 대상에 사용해야 합니다.Q 객체는 &| ~ (또는, 또는, 비) 로 연결할 수 있습니다.
UserInfo.objects.filter(Q(age__gt=20) & Q(age__lt=50))
UserInfo.objects.filter(Q(age__gt=20) | Q(age__lt=50))
UserInfo.objects.filter(~Q(age__lt=50))
같다Q가 키워드 매개변수와 함께 사용되는 경우 Q는 키워드 매개변수 앞에 배치되어야 합니다.
Student.objects.get(Q(age__gt=20) | Q(age__lt=50), name__contains='zhang')