pybo/models.py 파일에 작성하는 모델 코드 예제
📄 pybo/models.py 예제
from django.db import models
class Question(models.Model):
subject = models.CharField(max_length=200) # 질문 제목
content = models.TextField() # 질문 내용
create_date = models.DateTimeField() # 생성 일시
def __str__(self):
return self.subject
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE) # 연결된 질문
content = models.TextField() # 답변 내용
create_date = models.DateTimeField() # 생성 일시
def __str__(self):
return self.content
쿼리문 실행 내력을 알아보는 sqlmigrante
migrate 명령을 실행할 때 실제로 어떤 쿼리문이 실행되는지를 알기 위해서 사용합니다. 다음은 'python manage.py sqlmigrate pybo 0001' 실행한 결과입니다.
🛠️ 간단히 설명드립니다
클래스/필드 설명
Question 모델 | 질문을 표현하는 테이블 |
subject | 질문 제목 (최대 200자 문자열) |
content | 질문 본문 (길이 제한 없음) |
create_date | 질문 생성 시각 |
Answer 모델 | 답변을 표현하는 테이블 |
question | 어떤 질문에 달린 답변인지 연결 (ForeignKey) |
content | 답변 본문 |
create_date | 답변 작성 시각 |
✨ 중요한 포인트
- models.Model을 상속받아 모델을 정의합니다.
- CharField, TextField, DateTimeField 같은 필드 타입을 적절히 사용합니다.
- ForeignKey를 이용해서 Question과 Answer를 연결합니다.
- on_delete=models.CASCADE는 질문이 삭제되면 연결된 답변도 함께 삭제되게 합니다.
- __str__ 메서드를 정의하면, 객체를 출력할 때 보기 좋은 문자열이 보입니다.
(관리자(admin) 페이지나 셸에서 유용합니다.)
📢 추가로
이렇게 models.py를 만들고 나면, 다음 순서로 데이터베이스 테이블이 생성됩니다:
- python manage.py makemigrations
- python manage.py migrate
'Windows 코딩' 카테고리의 다른 글
DB Browser for SQLite 프로그램 (1) | 2025.04.30 |
---|---|
Windows에서 tree 활용 (0) | 2025.04.29 |
리눅스에서 작업한 Django 프로젝트 윈도우즈에 이식 (0) | 2025.04.28 |
VSCode에서 파이썬 가상환경 연동하는 방법 (0) | 2025.04.25 |
윈도우에서 파이썬 가상환경 만들기 및 PowerShell 오류 해결법 (1) | 2025.04.24 |