2013-09-21 2 views
1

필터링 할 특성이 CharField로 지정된 데이터베이스가 있습니다.Q- 개체를 숫자로 사용하여 CharField를 필터링하는 방법

attibute는 숫자 값을 문자열로 포함합니다. 예 : '5.0'

Django Q-objects를 사용하여 문자열의 숫자 값을 기준으로 "미만"필터링 (<)을 수행하고 싶습니다. 예를 들어 속성이 적은 행을 얻고 싶습니다. 3.0보다.

나는 "추가"기능을 가진 해결책에 대해 알고 있지만, 내가 아는 한 "추가"는 속성으로 Q 객체를 사용하지 않을 것입니다.

이것에 대한 아이디어가 있으십니까?

+0

CharField에서 십진수 값을 유지해야하는 심각한 이유가 있습니까? – mariodev

+0

네, 데이터베이스는 name : "3G", 값 : "yes", 이름 : "camera Mpx", 값 : "4"등 대부분의 문자열 값과 같은 휴대 전화 매개 변수에 대한 이름 - 값 쌍을 저장합니다. 이 구조를 바꿀 수는 없어, 내 고객이 소유하고있어. – Kompi

답변

0

CharField에서 "미만"필터가 작동합니까?

.filter(myfield__lt=3.0) 

Q() 솔루션은 아니지만 지원되는 경우 유용 할 수 있습니다.

관련 문제