오늘의 TIL (2025-01-22)

1. 관계형 데이터베이스 개념 정리

오늘 학습한 내용 중 하나는 관계형 데이터베이스(RDB, Relational Database) 개념이다.

  • 두 개의 테이블(유저, 게시글)이 관계를 맺고 있어야 하며, 게시글 테이블은 유저 테이블의 정보를 참조하고 있다.
  • 관계형 데이터베이스에서는 **외래 키(Foreign Key)**를 사용하여 이러한 관계를 설정한다.
  • 예를 들어, 게시글의 user 필드는 유저 테이블의 id를 참조하여 관계를 형성할 수 있다.

주요 개념

  • 유저 테이블: id, username, password 등의 정보를 저장.
  • 게시글 테이블: title, content, user(외래 키), created_at, updated_at 등을 저장.
  • 관계 설정: 게시글 테이블에서 user 컬럼이 유저 테이블의 id를 참조.

2. Django 모델에서 날짜 및 시간 필드

오늘 Django 모델에서 게시글의 작성일과 수정일을 저장하는 방법을 배웠다.

Post 모델 예제 코드

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    
    # 작성일
    created_at = models.DateTimeField(auto_now_add=True)
    
    # 수정일
    updated_at = models.DateTimeField(auto_now=True)

필드 설명

  • created_at = models.DateTimeField(auto_now_add=True)
    • 객체가 생성될 때 한 번만 자동으로 현재 시간이 설정됨.
    • 게시글의 최초 작성일을 기록.
  • updated_at = models.DateTimeField(auto_now=True)
    • 객체가 저장될 때마다 자동으로 현재 시간이 업데이트됨.
    • 게시글의 최종 수정일을 기록.

이러한 필드를 통해 게시글의 생성 및 수정 이력을 관리할 수 있다.


3. 오늘의 배운 점 정리

  • 관계형 데이터베이스의 참조 개념을 이해하고, 테이블 간의 관계를 설정하는 방법을 학습했다.
  • Django의 DateTimeField 속성을 활용하여 게시글의 생성 및 수정 시간을 효율적으로 관리할 수 있음을 배웠다.

4. 추가 학습 계획

  • Django에서 외래 키 관계(ForeignKey) 설정을 실습해 보기.
  • 여러 개의 모델 간 관계 설정 및 마이그레이션 과정을 심화 학습하기.

 

+ Recent posts