본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

Django 게시판 코드 설명

by easyfly 2025. 7. 6.
반응형

 

✅ Django 게시판 코드 설명

from django.db import models
  • Django의 ORM(Object-Relational Mapping)을 위한 모델 클래스 기능을 가져오는 코드입니다.


📌 1. Question 클래스

class Question(models.Model):
    subject = models.CharField(max_length=200)
    content = models.TextField()
    create_date = models.DateTimeField()
  • Question 클래스는 질문을 나타내는 모델입니다.
  • models.Model을 상속함으로써 Django 모델로 작동합니다.
  • 각 필드 설명:
    • subject: 질문의 제목, 최대 200자까지 저장 가능 (CharField)
    • content: 질문의 본문 내용 (TextField)
    • create_date: 질문이 생성된 날짜와 시간 (DateTimeField)

📌 2. Answer 클래스

class Answer(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    content = models.TextField()
    create_date = models.DateTimeField()
  • Answer 클래스는 질문에 대한 답변을 나타내는 모델입니다.
  • 필드 설명:
    • question: 이 답변이 어느 질문에 속하는지 연결
      → ForeignKey를 통해 Question 모델과 1:N 관계 설정
      → on_delete=models.CASCADE: 질문이 삭제되면 해당 답변도 함께 삭제
    • content: 답변 본문
    • create_date: 답변 생성일

💡 주의사항

  1. create_date = models.DateTimeField()와 같이 정의하면, 기본값 없이 필수 입력 필드가 됩니다.
    → 보통은 자동으로 현재 시간 저장을 원하기 때문에 아래처럼 설정합니다:
create_date = models.DateTimeField(auto_now_add=True)
  1. 작성 후에는 반드시 다음 명령어로 마이그레이션을 생성하고 적용해야 합니다:
python3 manage.py makemigrations
python3 manage.py migrate

 

반응형

댓글