본문 바로가기
Django

Django의 F() 객체란?

by Shark_상어 2023. 4. 14.
728x90

오늘은 Django에서의 객체들을 필터링 하던 중 필드 값을 그대로 참조 하고 싶어져서 조사하게 되었다.

 

F() 객체들 사용 하기 위해서는 

 

From django.db.models import F 라고 선언하면 된다.

 

F() 객체를 사용하면 쿼리셋에서 필드 값을 그대로 참조하여, 쿼리 실행 시에 해당 필드의 실제 값을 사용하게 된다.


예를 들어, Q(price__gte=F('discounted_price'))와 같이 F() 객체를 사용하면, 쿼리 실행 시에 price 필드와 discounted_price 필드의 실제 값을 비교하여 결과를 반환한다.

 

또한 F() 객체는 필드 값을 연산할 때도 사용할 수 있다.

 

예를 들어, Product.objects.update(price=F('price') * 1.1)와 같이 F() 객체를 사용하면,

 

모든 Product 오브젝트의 price 값을 1.1배로 곱한 값으로 업데이트 할 수도 있다.

728x90