□ Office 라는 app 생성후 Patient class로 model을 생성하였음
● model
from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator #유효성 검사를 위해 호출
class Patient(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
age = models.IntegerField(validators=[MinValueValidator(0),MaxValueValidator(120)]) #유효성검사 제약조건범위 지정
heartrate = models.IntegerField(default=60, validators=[MinValueValidator(0),MaxValueValidator(300)]) #유효성검사 제약조건범위 지정
def __str__(self):
return f"{self.last_name}, {self.first_name} is {self.age} years old."
□ manage.py를 활용해 shell 을 실행시켜 Create을 해보자
● 시작 명령어
py manage.py shell
● model 임포트 및 조회
○ all() : 모두 가져옴
○ get() : 단일만 가져옴
#모델임포트
from office.models import Patient
#모든정보 가져오기
Patient.objects.all()
● 데이터 Create
#단일 Create
Patient.objects.create(first_name="Sanches", last_name="Alex", age=30)
#벌크 Create
add_list=[Patient(first_name="Sancho", last_name="Steve", age=20), Patient(first_name="Neo", last_name="james", age=27), Patient(first_name="mophios", last_name="Jose", age=29)]
Patient.objects.bulk_create(add_list)
● 데이터 Read
○ filter 사용
○ filter look up
- gte : 이상
- lte : 이하
#pk로 데이터 조회
Patient.objects.get(pk=2)
#조건 조회
Patient.objects.filter(last_name="smith").all()
#복수조건 조회
Patient.objects.filter(last_name="smith").filter(age=40).all()
Patient.objects.filter(age__in=[20,30,40,50]).all()
#gte 조회
Patient.objects.filter(age__gte=39).all()
#lte 조회
Patient.objects.filter(age__lte=20).all()
'Python > Django Ⅲ' 카테고리의 다른 글
(Review) Django CBV (0) | 2024.05.27 |
---|---|
(Review) Django Form (0) | 2024.05.27 |
(Review) Django 템플릿 언어 (0) | 2024.05.24 |
(Review) Django 기본 / 동적 뷰 (0) | 2024.05.24 |
(Review) Django 프레임워크 개요와 웹페이지 띄우기 기본예제 (0) | 2024.05.24 |