1. shell_plus 들어가기
python manage.py shell_plus
2. 의사, 환자 만들기
doctor1 = Doctor.objects.create(name='allie')
patient1 = Patient.objects.create(name='carol')
patient2 = Patient.objects.create(name='duke')
3. add 다대다 관계 추가
# 1번 환자가 1번 의사를 예약
patient1.doctors.add(doctor1)
# 내가 오늘 진로보는 의사를 다 알고 싶다. 참조
patient1.doctors.all()
# 내가 오늘 보는 환자를 모두 보고 싶다. 역참조
doctor1.patient_set.all()
# 의사 1번이 환자 2번을 예약한다
doctor1.patient_set.add(patient2)
# 의사가 환자 조회
doctor1.patient_set.all()
# 환자가 의사 조회
patient2.doctors.all()
patient1.doctors.all()
3. remove 다대다 관계 지우기
# 의사에게 일이 생겼음. 환자와의 예약을 취소하겠다
doctor1.patient_set.remove(patient1)
doctor1.patient_set.all()
patient1.doctors.all()
# 환자에게 일이 생겼음. doctor1과의 예약을 취소하겠다
patient2.doctors.remove(doctor1)
patient2.doctors.all()
doctor1.patient_set.all()
'WEB > Django prac' 카테고리의 다른 글
[Django prac][DB N:M ① 의사와 환자] 9. 예약 생성 (0) | 2024.04.08 |
---|---|
[Django prac][DB N:M ① 의사와 환자] 8. 예약 정보에 추가 데이터가 필요하다면? (0) | 2024.04.08 |
[Django prac][DB N:M ① 의사와 환자] 6. 장고의 ManyToManyField (0) | 2024.04.08 |
[Django prac][DB N:M ① 의사와 환자] 5. 예약 데이터 생성 (0) | 2024.04.08 |
[Django prac][DB N:M ① 의사와 환자] 4. 예약 모델 생성 (0) | 2024.04.08 |