starbucks 모델링하기(2)

이영주·2020년 11월 8일
0

▶ CRUD


root urls파일
path 함수

urlspatterns가 여러가지 다른 요청을 받을 수 있고 그 요청마다 어디로 가는지 써주는 일을 한다.(리스트 타입)
inclued를 써서 앱의 urls로 보내준다.

products안의 urls

product 뒤의 빈스트링
예를들어 /register가 있다면 아래에 한줄 추가해서 써준다.
지금 내가 있는 폴더의 views에서 class를 가지고 온다.

뷰에서 get, post 어떤 메소드를 불러올것인지 정한다.
메소드 안의 request는 어디서 쓰느냐 ?
request안에 정보가 담겨서 들어오는데 그것을 필터로 해서 걸러서 처리하는 작업을 한다.

정보가 어떤 식으로 오는지에 대한 예시!! (딕셔너리, 스트링 형태)

▶ ManyToManyField
연결 테이블 둘 중 하나에 써주면 된다.
▶ null = True // 빈 값 허용
on_delete=models.CASCADE // delete되었을 때 row가 삭제된다
▶ ForeignKey에 스트링으로 넣어주는 이유는
가져오려는 클래스가 더 밑에 있을 때 오류가 날 수 있다.
하지만 스트링으로 넣어주면 오류가 나지 않기 때문에 안전 차원에서 쓰게 된다.

create를 하는 2가지 방법

  1. Menu.objects.create(name='주류')
    말 그대로 필요한 필드를 넣는것

  2. save 메소드 쓰는것
    클래스에서 인스턴스를 생성할 때 어떻게 하냐면,
    클래스 이름을 두고 실행을 시킨다.

new_instance = Menu(name='헬로')
인스턴스를 생성 -> 바로 create 되는게 아니라 단순히
저장된 것이기 때문에 아무일도 일어나지 않는다.
이때 아래처럼 세이브를 써주면 create가 완료된다.
new_instance.save()

✔️ 보통 id의 값을 아는 경우는 거의 없기 때문에 인스턴스에 저장하여
사용하는 방식은 create, update도 가능하기 때문에 사용한다.

✔️ getfilter
get은 데이터를 하나밖에 불러오지 못하기 때문에 filter를 주로 쓴다.
Category.objects.filter(menu_id=1)

0개의 댓글