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