Backend/Django
[Django] CharField와 TextField의 차이점이 뭔가요?
에반황
2019. 1. 9. 18:34
documentation 에서는 CharField()
는 작은 문자열을 사용해야하고, TextField()
는 큰 문자열을 사용해야한다고 합니다. 그렇다면, 작고 크다의 기준은 몇 글자인건가요??
답변
이 것은 RDBMS의 차이점입니다.
varchar 타입
이것은 최대 길이를 명시하고 사용합니다. 그리고 최적화와 저장 공간에 더 효율적입니다.
text 타입
이것은 최대 길이가 DB schema에 의해 지정되지 않습니다.
PostgreSQL 9은 특히 "두 타입에는 퍼포먼스 차이가 없다." 라고 말하고 있습니다. MySQL에는 조금의 차이가 있다고는 합니다. 즉 이는 Django Model의 스펙 뿐은 아닌 것입니다.
다음과 같은 룰을 정해서 사용하면 좋겠습니다.
최대 길이 정의가 필요한 타입
TextField
그 외
유용한 댓글
나는 django에 있는 두 가지 사이의 정말 중요한 차이점은 뷰가 필드를 어떻게 다룰 것인가에 있다고 생각합니다. generic edit view에서 TextField는 다중 행 크기 조정 가능한 입력으로 렌더링되며, CharField는 단일 라인 입력입니다.
참고
해당 질문은 Stackoverflow
반응형