모델의 첫 번째 개체를 반환하는 쿼리 집합이 있습니다.
latest_ignit_data = ( ignition_data
.objects
.filter(vehicle=veh_obj,updated_time_lt=new_time)
.order_by('updated_time')
.first()
)
이 개체의 시간 필드를 업데이트하고 싶습니다. 어떻게해야합니까?
편집 됨
이것은 방법 이 아닙니다 .
latest_ignit_data.update( updated_time =new_time )
장고 문서를first
읽으면 메소드가 슬라이싱과 동등한 편리한 메소드 이기 때문에 QuerySet 평가 first
가 발생합니다.
그렇다면 올바른 방법 은 다음과 같습니다.
pk = ( ignition_data
.objects
.filter(vehicle=veh_obj,updated_time_lt=new_time)
.order_by('updated_time')
.values_list('id', flat=True)
.first()
)
ignition_data.objects.filter(pk=pk).update( updated_time =new_time )
이것은 인스턴스를 생성하지 않고 신호를 올리지 않고 데이터베이스를 업데이트합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다