2024/10 23

Many to many relationships 2 [Database]

팔로우 구현하기사전 준비 : 프로필 페이지 준비하기 프로필 구현(1/5)url 작성프로필 구현(2/5)view 함수 작성 프로필 구현(3/5)profile 템플릿 작성   프로필 구현(4/5)프로필 페이지로 이동할 수 있는 링크 작성프로필 구현(5/5)프로필 페이지 결과 확인    모델 관계 설정User(M) - User(N)0명 이상의 회원은 0명 이상의 회원과 관련회원은 0명 이상의 팔로워를 가질 수 있고, 0명 이상의 다른 회원들을 팔로잉 할 수 있음모델 관계 설정 (1/2)ManyToManyField 작성 참조내가 팔로우 하는 사람들 (팔로잉, followings)역참조상대방 입장에서 나는 팔로워 중 한 명 (팔로워, followers)바뀌어도 상관 없으나 관계 조회 시 생각하기 편한 방향으로 정..

Django 2024.10.15

Many to Many Relationships 01 [Database]

Many to many relationships N:M or M:N한 테이블의 0 개 이상의 레코드가 다른 테이블의 0개 이상의 레코드와 관련된 경우 →양쪽 모두에게 N:1 관계를 가짐  N:1의 한계 (예시로 설명)한 명의 의사에게 여러 환자가 예약할 수 있도록 설계2명의 의사와 환자를 생성하고 환자는 서로 다른 의사에게 예약만약 1번 환자가 두 의사 모두에게 진료를 받고자 한다면 환자 테이블에 1번 환자 데이터가 중복으로 입력됨외래 키 컬럼에 '1,2' 형태로 저장하는 것은 DB 타입 문제로 불가능하기 때문에 중개 모델(예약 테이블)을 따로 만들어서 해결해야함  중개 모델  1. 예약 모델 생성환자 모델의 외래 키를 삭제하고 별도의 예약 모델을 새로 생성예약 모델은 의사와 환자에 각각 N:1 관계를 ..

Django 2024.10.14

Many to one relationships 2 [Database]

Article(N) - User(1)0명 이상의 게시글은 1명의 회원에 의해 작성 될 수 있다 Comment (N)- User(1)0개 이상의 댓글은 1명의 회원에 의해 작성 될 수 있다. Article & UserArticle - User 모델 관계 설정User  외래 키 정의 User 모델을 참조하는 2가지 방법Django 프로젝트 '내부적인 구동 순서'와 '반환 값'에 따른 이유User 모델을 직접 참조하지 않는다는 것을 기억하자!!!!!!!!!!  get_user_model()settings.AUTH_USER_MODEL반환값 User Object(객체)'accounts.User'(문자열)사용위치models.py가 아닌 다른 모든 위치medels.py  Migration 하기python manage..

Django 2024.10.11

Many to one relationships 01 [Database]

N:1 or 1:N한 테이블의 0 개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 관계 Comment (N)- Article(1)0개 이상의 댓글은 1개의 게시글에 작성될 수 있다. 1은 N에 대한 물리적인 정보를 가질 수 없다  Django를 활용한 댓글 모델 정의 ForeignKey()한 모델이 다른 모델을 참조하는 관계를 설정하는 필드N:1 관계 표현데이터베이스에서 외래키로 구현댓글 모델 정의ForeignKey 클래스의 인트턴스 이름은 참조하는 모델 클래스 이름의 단수형으로 작성하는 것을 권장외래키는 ForeignKey 클래스를 작성하는 위치와 관계없이 테이블의 마지막 필드로 생성됨ForignKey(to,on_delete)to : 참조하는 모델 class 이름on_delete: 외래키가 참..

Django 2024.10.11

SQL 02 [Database]

Managing Tables Create TABLE statement테이블 생성 CREATE TABLE syntax각 필드에 적용할 데이터 타입 작성테이블 및 필드에 대한 제약조건(constraints) 작성 CREATE TABLE 활용examples 테이블 생성 및 확인  테이블 schema(구조) 확인cidColumn ID를 의미하며 각 컬럼의 고유한 식별자를 나타내는 정수 값직접 사용하지 않으며 PRAGMA 명령과 같은 메타데이터 조회에서 출력 값으로 활용됨 SQLite 데이터 타입NULL아무런 값도 포함하지 않음을 나타냄INTEGER정수REAL부동 소수점TEXT문자열BLOB이미지, 동영상, 문서 등의 바이너리 데이터Constraints (제약조건) 테이블의 필드에 적용되는 규칙 또는 제한 사항데이..

Django 2024.10.10