장고의 CharField와 TextField의 차이점은 무엇입니까?
문서에는 이라고 되어 있다CharField()과 작은 문자열에 .TextField()큰 문자열에는 를 사용해야 합니다.
좋아요, 그런데 '작은'과 '큰' 사이에 선을 긋는 곳이 어디죠?여기 덮개 밑에서 무슨 일이 벌어지고 있는 거야?
RDBMS의 RDBMS와의 varchar 유사) : 더일 수 (즉, 퍼포먼스나 스토리지 면에서 효율적일 수 있습니다.text(또는 유사한) 유형 - 일반적으로 하드코드된 구현 제한(DB 스키마가 아님)에 의해서만 제한됩니다.
특히 PostgreSQL 9는 "이 세 가지 유형 중 성능 차이는 없습니다"라고 기술하고 있지만, AFIK는 다음과 같은 몇 가지 차이점이 있습니다.MySQL, 이건 명심해야 할 사항입니다.
으로 봤을 때 은 '만나면 안 돼요'를 죠.CharField가 있는 , " " " 입니다.TextField렇지지그
이것도 장고 특유의 게 아니에요.
경우에 따라서는 필드 사용 방법과 관련이 있습니다.일부 DB 엔진에서는 필드의 차이에 따라 필드의 텍스트를 검색하는 방법(및 검색 여부)이 결정됩니다.CharFields는 일반적으로 문자열 "1+2"에서 "1"을 검색하는 경우와 같이 검색 가능한 항목에 사용됩니다.문자열이 짧기 때문에 엔진이 검색하는 데 걸리는 시간이 줄어듭니다.TextFields는 일반적으로 (블로그 본문 등) 검색 대상이 아니라 대량의 텍스트 청크를 보관하는 것을 의미합니다.대부분의 경우 DB Engine에 의존하며 Postgres와 마찬가지로 문제가 되지 않습니다.
상관 없는 경우에도 ModelForms를 사용하면 양식에서 다른 유형의 편집 필드를 얻을 수 있습니다.ModelForm은 CharField의 경우 텍스트 한 줄, TextField의 경우 여러 줄 크기의 HTML 형식을 생성합니다.
CharField가 max_length로 설정되어 .255( 「」)TextField 수 255 use. 용용다다다를 사용하다TextField★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★인 것은 가 될 것인가 하는 입니다.max_length는 「중요하다」로 전달됩니다.TextField은 it it it it it it it it it it it it it it 。TextArea위젯을 클릭합니다.
예를 들어 다음과 같은 모델에 두 개의 필드가 추가됩니다.
description = models.TextField(blank=True, null=True)
title = models.CharField(max_length=64, blank=True, null=True)
이행 적용 시 실행되는 mysql 쿼리를 다음에 나타냅니다.
위해서TextField(description) 필드는 다음과 같이 정의됩니다.longtext
ALTER TABLE `sometable_sometable` ADD COLUMN `description` longtext NULL;
최대 길이TextFieldString-type-Overview에 따르면 MySQL의 용량은 4GB입니다.
위해서CharField(임의) max_length(필수)는 다음과 같이 정의됩니다.varchar(64)
ALTER TABLE `sometable_sometable` ADD COLUMN `title` varchar(64) NULL;
ALTER TABLE `sometable_sometable` ALTER COLUMN `title` DROP DEFAULT;
TextField는 255자를 초과할 수 있지만 CharField는 짧은 문자열 길이를 저장하는 데 사용됩니다.
긴 텍스트를 저장할 경우 TextField를 사용하거나 짧은 문자열을 저장할 경우 CharField가 유용합니다.
article_title = models.CharField(max_length=150)
article_body = models.TextField()
언급URL : https://stackoverflow.com/questions/7354588/whats-the-difference-between-charfield-and-textfield-in-django
'programing' 카테고리의 다른 글
| SELECT 쿼리의 SQL Server LOCKS 이해 (0) | 2023.04.15 |
|---|---|
| 복사/붙여넣기 후 Excel의 자동 셀 참조 변경을 비활성화하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
| 따옴표로 셸 변수를 묶는 경우 (0) | 2023.04.15 |
| Date Time(UTC) 저장과 Date Time Offset 저장 (0) | 2023.04.15 |
| WPF 체크박스바인딩 (0) | 2023.04.15 |