2015-01-21 2 views
1

나는 djangoproject.com에 Django의 체크 박스에 NullBooleanField를 사용해야한다는 설명이 있음을 알고 있습니다. 그러나 이와 같은 것을 사용하는 것이 더 나은지 궁금합니다.Django의 체크 박스 - 가장 좋은 방법은 무엇입니까?

models.CharField(null=True, choices=(('Y','YES'),)) 

는 null가 단지 확인하지 평가 것이며, 예 검사로 평가한다. 이것은 당신이해야 할 곳 NullBooleanField보다는 나에게 더 의미를 보인다 본질적으로

models.CharField(null=True, choices=(('1','UNKNOWN'),('2','YES'),('3','NO'),)) 

NullBooleanField의 나의 해석은있을 수 잘못 (그리고 아마도),하지만 난 파삭 파삭 한 형태를 렌더링 할 때, 그것은 나에게 select 상자를 준 , 그래서 그것은 DB에서 이런 식으로 표현되지 않을까요?

답변

1

로직에 Null이 아닌 True/False 만 필요한 경우 대신 default=False 대신 BooleanField을 사용하는 것이 좋습니다.

NullBooleanField은 사실 본질적으로 예/아니오/알 수없는 선택 사항이있는 필드입니다.

CharFieldNULL을 절대로 저장하지 않지만 항상 빈 문자열이므로 null=TrueCharField에 영향을 미치지 않습니다.

+0

오, 괜찮습니다. 아마도 NullBooleanField를 고치고 BooleanField를 사용할 것입니다. 감사합니다! – Jeremy

관련 문제