[TIL_Carrotww] 24 - 22/10/05

유형석·2022년 10월 5일
0

TIL

목록 보기
29/138
post-thumbnail

📝Carrotww의 코딩 기록장

🧲 Djanogo

💡 Djanogo DB field type

🔍 django의 충격적인 사실...
django에서 기본적으로 제공되는

from django.contrib.auth.models import AbstractUser

AbstractUser는 username이 무조건 primary key로 인식된다. 왜 다른 개발자들이 django 기본 제공 user table을 상속받지 않고 사용하지 않는 지 알 것 같다.

필드 타입HTML 위젯필수 옵션설명
BooleanFieldCheckboxInput-True/False 값을 가지는 필드.
CharFieldTextInputmax_length문자열 데이터를 저장하는 필드. 최대 글자 수를 반드시 지정해주어야 한다.
DateFieldTextInput-datetime.date 인스턴스인 날짜 데이터를 저장하는 필드. 달력 위젯과 오늘 날짜 입력 기능을 기본제공한다.
DateTimeFieldTextInput-datetime.datetime 인스턴스인 날짜와 시간 데이터를 저장하는 필드 두 개의 TextInput, 달력 위젯, 오늘 날짜 입력 기능을 기본제공한다.
FloatFieldNumberInput-Python의 float과 같은 실수 데이터를 저장하는 필드.
IntegerFieldNumberInput-Python의 integer과 같은 정수 데이터를 저장하는 필드. -2147483648과 2147483647 사이의 값을 저장할 수 있다.
TextFieldTextarea-글자 수 제한이 없는 문자열 데이터를 저장하는 필드. max_length 값을 지정하면 폼에서는 제한이 되지만, 데이터베이스에는 영향을 주지 않음.
AutoFieldNumber-IntegerField와 같이 기본적으로는 동일하나, 자동적으로 장가하는 field 이며 1부터 시작하여 Primary 키를 테이블에서 따로 주지 않으면 해당 필드가 자동으로 만들어진다. Big은 1 to 9223372036854775807, Small은 1 to 32767
DecimalFieldDecimal number-고정 소수점 이하의 십진수 실수를 저장한다. python의 Decimal instance를 사용한다.

프로젝트 진행중 데이터베이스에서 얼을 좀 타서 정리해 보았다.
예전에 DBMS 관련 자격증을 준비했는데 역시 사용하지 않으면 다 까먹는건 어쩔 수 없는겉가보다. DB를 안한지 2년이 넘어서 기본적인 sql문과 정규화는 물론이거니와 기본적인 key 형태들만 기억났었다...
개인 프로젝트를 하며 시간을 들여 꼼꼼하게 다시 정리해봐야 겠다.

💡 Djanogo 관계 정의 필드

필드 타입HTML 위젯필수 옵션설명
Forignkey-to, on_delete필드를 외래키로 설정한다. 다른 테이블의 레코드와 일대다 관계를 형성한다. 관계 설정 대상이 되는 모델과 레코드 삭제 시 처리 방식을 필수로 설정해주어야 한다.
ManytoManyField-to필드가 대상 테이블과 다대다 관계를 형성하도록 설정한다. 관계 설정 대상이 되는 모델을 필수로 설정해주어야 한다.
OneToOneField-to, on_delete필드가 대상 테이블과 일대일 관계를 형성하도록 설정한다. 관계 설정 대상이 되는 모델과 레코드 삭제 시 처리 방식을 필수로 설정해주어야 한다.

🧲 알고리즘

🔍 새벽까지해서 알고리즘을 할 시간이 전혀 없었다 ㅠㅠ
주말에 풀었던 문제들이 있으며 이번주는 시간이 난다면 이분탐색을 위주로 풀어볼 생각이다.
풀면 다시 올릴 예정!

profile
Carrot_hyeong

0개의 댓글