728x90
반응형
collation은 DB에 입력되는 문자의 중복을 어떻게 볼 지 설정하는 것이다. case-insensitive는 'Fred'와 'fred'를 같은 문자로 본다. case-sensitive는 대소문자를 다르게 본다.
DB provider에 따라 옵션의 이름이 각각 다르다. django 홈페이지에 나온 MYSQL에 대한 문서를 보면 default collation으로 속성값들이 있는 것을 볼 수 있다.
기본값이 정해져있다. (아래는 MYSQL)
https://dev.mysql.com/doc/refman/8.0/en/charset-general.html
장고에서는 모델을 만들 때 TextField, CharField의 인자값으로 db_collation 인자를 설정해줄 수 있다. 그리고 데이터 정렬의 기준이 된다.https://docs.djangoproject.com/en/4.1/ref/databases/
postgresql 에서는 'numeric'이라는 속성을 제공한다.
https://www.postgresql.org/docs/current/collation.html
예를들어
name = CharField(
max_length=128,
db_collation="numeric",
)
이런식으로 설정하면, 숫자를 기준으로 db 값들을 정렬한다.
728x90
반응형
'Programming-[Backend] > Django' 카테고리의 다른 글
[TIL] Django Cache 개요 (0) | 2023.04.16 |
---|---|
[TIL] Django ListSerializer 활용, List Update/Create (0) | 2023.03.20 |
[TIL] DjangoFilter(DRF filter_bakcends, django-filter filterset_class) (0) | 2023.01.16 |
[탐험] Django admin에서 view, template, render 다루기. 비동기 처리 버튼 만들기 (0) | 2022.12.25 |
[TIL] django data migration 데이터 마이그레이션 (0) | 2022.12.17 |