2013-12-19 1 views
0

모두django 모델이 비트별로 필터링 된 방법

정수를 사용하여 사용자 확인 상태를 저장하려고합니다. 예 : 이메일 주소, 시민권, 운전 면허 등 확인해야 할 정보가 있습니다. 정의는 다음과 같습니다. 0x00000001은 사용자가 제출 한 이메일 주소를 의미합니다. 0x00000002는 사용자의 이메일이 확인되고 통과되었음을 의미합니다. 0x00000005는 사용자의 이메일 주소가 올바르지 않음을 의미합니다.

0x00000010은 사용자가 제출 한 시민권을 의미합니다. 0x00000020은 사용자의 시민 번호가 확인되고 통과되었음을 의미합니다. 0x00000050은 사용자의 시민 번호가 정확하지 않다는 것을 의미합니다.

0x00000100은 사용자가 제출 한 드라이브 라이선스 ID를 의미합니다. 0x00000200은 사용자의 드라이브 라이선스 ID가 확인되고 통과되었음을 의미합니다. 0x00000500은 사용자의 드라이브 라이센스 ID가 올바르지 않음을 의미합니다.

사용자의 이메일을 필터링하고 싶습니다. 확인되었습니다. 어떻게 장고 모델로 필터링 할 수 있습니다. 내가 원하는 것은 상태입니다. & 0x0000000f == 2.

고마워요.

답변

0

데이터베이스에 저장하기 위해이 방법을 사용하지 않겠습니다. 왜 단순히 status_email, status_citizenstatus_drivelicense과 같은 SmallIntegerFields 값을 0 (제출), 1 (검증 됨) 및 -1 (잘못된)으로 유지할 수 있습니까? 응용 프로그램 논리와 데이터베이스에서의 필터링이 훨씬 쉬워졌습니다.

정보를 인코딩하는 이유를 설명 할 수 있습니까?

관련 문제