<TIL - 0023> django 강의복습

개발일지·2023년 4월 14일
0

til

목록 보기
23/43


데이터베이스 키 종류

  • FK : Foreign Key의 약자이며, 다른 테이블을 참조 할 때 사용된다.
  • UK : Unique Key의 약자이며, 중복 값을 허용하지 않는다.
  • PK : Primary Key의 약자이며, 테이블에서는 반드시 한개의 PK가 존재해야 한다.
    • PK는 두개 이상 존재 할 수 없고, UK와 마찬가지로 중복 값을 허용하지 않는다.
    • Foreign Key를 사용할 경우 참조 할 테이블의 PK를 바라본다.

http method 종류

  • request를 보낼 때 어떤 용도의 요청을 보낼 지 선택하며, CRUD와 1:1 매칭
  • GET : 데이터 조회(Read)
  • POST : 데이터 생성(Create)
  • PUT : 데이터 수정(Update)
  • DELETE : 데이터 삭제(Delete)

모델링 할 때 자주 사용되는 field

시간

  • DateField
    • 날짜를 입력하는 필드 ex) 2002-01-01
  • TimeField
    • 시간을 입력하는 필드 ex) 09:31
  • DateTimeField
    • 날짜, 시간을 입력하는 필드 ex) 2002-01-01 09:31
  • 옵션(공통)
    • [선택] auto_now_add : True일 경우 데이터가 생성되는 순간을 기록한다. 데이터가 최초 생성되는 시간과 일치한다.
    • [선택] auto_now : True일 경우 데이터가 저장될 때마다 갱신되며, 데이터 최초 생성 일 혹은 수정 시간이 기록된다.

문자

  • CharField
    • 문자열을 입력하는 필드 ex) 게시글 제목입니다.
    • 옵션
      • [필수] max_length : 입력 할 수 있는 최대 문자 수를 지정한다.
      • [선택] choices : 특정 값만 입력될 수 있도록 선택지를 설정한다.
  • TextField
    • 개행 가능한 문자열을 입력하는 필드 ex) 게시글 내용입니다.

숫자

  • IntegerField
    • 숫자를 입력하는 필드 ex) -100, 100
  • PositiveIntegerField
    • 양수를 입력하는 필드 ex) 100

외래 키

  • ForeignKey
    • 1:n 혹은 n:1 관계 ex) 게시글의 작성자(User)를 나타내는 필드
    • 옵션
      • [필수] to : 관계를 맺을 테이블을 입력 ex) user.User
      • [필수] on_delete : 관계를 맺을 데이터가 삭제됐을 때 해당 데이터의 처리 방법을 입력
        • CASCADE : 해당 데이터도 같이 삭제합니다.
        • SET_NULL : 해당 필드의 값을 null(None)로 설정합니다. 해당 옵션 선택 시 null=True 옵션을 설정해 줘야 합니다.
  • OneToOneField
    • 1:1 관계, ForeignKey(Unique=True)와 동일하다. ex) 사용자(User)와 사용자 개인정보(UserPrivateData)를 나타내는 필드
    • 옵션 : ForeignKey와 동일
  • ManyToManyField
    • n:n 관계, 중간 테이블이 생성된다. ex) 사용자(User)와 취미(Hobby)를 나타내는 필드

기타

  • FileField
    • 파일을 업로드 하는 필드 ex) image.png
  • BooleanField
    • True 혹은 False를 저장하는 필드

공통옵션

  • [선택] verbose_name : 해당 필드의 별칭을 지정한다.
  • [선택] default : 해당 필드의 값을 지정하지 않았을 때 기본적으로 설정할 값을 입력한다.
  • [선택] blank : 비어있는 스트링(””) 허용 여부를 지정한다.
  • [선텍] null : null(None) 허용 여부를 지정한다.


profile
아닐지

0개의 댓글