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가지 방법
Menu.objects.create(name='주류')
말 그대로 필요한 필드를 넣는것
save
메소드 쓰는것
클래스에서 인스턴스를 생성할 때 어떻게 하냐면,
클래스 이름을 두고 실행을 시킨다.
new_instance = Menu(name='헬로')
인스턴스를 생성 -> 바로 create 되는게 아니라 단순히
저장된 것이기 때문에 아무일도 일어나지 않는다.
이때 아래처럼 세이브를 써주면 create가 완료된다.
new_instance.save()
✔️ 보통 id
의 값을 아는 경우는 거의 없기 때문에 인스턴스에 저장하여
사용하는 방식은 create
, update
도 가능하기 때문에 사용한다.
✔️ get
과 filter
get
은 데이터를 하나밖에 불러오지 못하기 때문에 filter
를 주로 쓴다.
Category.objects.filter(menu_id=1)