wecode TIL day 13 (Oct 31)
위코드 노션에 Django 3-1. django C.R.U.D(1)
Django 2 Data, QuerySet.
에 나와있는 내용을 하루종일 했다.
세부 내용은 노션에 가서 체크하자
mysql> show databases; (데이터베이스들 다 보여줘라 )
위처럼 데이터베이스들이 보이면
mysql> use starbucksdatabase;
(난 starbucksdatabase 데이터베이스를 사용하겠다!)
그러면 그 database로 바뀌였다는 말이 나오고
mysql> show tables;
라고 치면.... 위 사진처럼 비었다고 나온다.마치 에러 해결 못하고 있을 때 내 머리속처럼
이게 migration을 안해서 그렇다.
모델 활성화 하기,
모델 활성화 전에 해야하는 것이 migration 인데, 내가 모델을 변경시킨 사실(또는 생성했다는 사실)과 이 변경사항을 migration으로 저장하고 싶다는 것을 Django 에게 알려주는 것이다.
.>>> python manage.py makemigrations products (앱이름)
그 다음에
.>>> python manage.py migrate
해서 에러 안뜨면 썩쎄쓰....
이제 migration을 했으니까, mysql가서 show tables 하면;
자 이제 SHELL 을 켠다.
.>>> python manage.py shell
위처럼 SHELL 킬 때마다, import 해줘야 합니다. 안그러면 클래스를 읽어올 수가 없어요,
.>>> from products.models import Menu, Category, Product
Menu라는 테이블을 만들고 name 이라는 컬럼에 음료라는 데이터를 넣겠다.
.>>> Menu.objects.create(name="음료")
그 다음에 mysql에
mysql> select * from products_menu;
products_menu 테이블에 있는거 다 가져와라 라는 뜻
더 add하고 싶다면 같은 방식으로 하면 된다.
자 이제 그 다음 단계!
Category테이블에서 Menu_id를 참조하고 있다.
참조하는 법!
일단 개념 먼저 알고 넘어가자
Category테이블에서 Menu_id를 참조하고 있다.
.>>> Product.objects.create(name="test1", price = 1111, category_id=1)
OR
.>>> c10 = Category.objects.get(id=1)
.>>> Product.objects.create(name="test2", price 2222, category = c10)
위 둘의 코드는 같다!
어찌어찌 공을 들여 테이블을 완성하고 내가 어떻게 했나하고 살펴보았는데, 방법을 다르게 했는데 어떤건 _id 가 자동으로 붙고, 어떤건 아니였다.
그래서 수많은 에러메세지로 샤워할 각오를 하고 둘다 해봤다.
그 결과
에러가 안뜨고 둘다 나왔다!!!
두 번째 방법은 c10으로 인스턴스 선언을 하고 category = c10을 함으로써 읽어오는 것 같았다.
카테고리라는 테이블에 name이라는 칼럼을 만들고
- b1 = Category.objects.get(name="콜드브루")
Product.objects.create(name="콜드 브루 커피", category=b1, price = 4500)
saturated_fat_g = models.DecimalField(max_digits=10,decimal_places=2, null=True)
Standard SQL requires that DECIMAL(5,2) be able to store any value with five digits and two decimals
테이블 컬럼 순서 바꾸는 법
ALTER TABLE table_name MODIFY password varchar(20) AFTER id
참고로 mysql 언어임
과제한 것 결과.
아래 노션에 가면 python & Mysql 명령어들이 나온다.
https://www.notion.so/Django-MySQL-Query-Set-API-Cheat-Sheet-b1e6ebf20d9e456a88f374d91f3be25d
위 사진같은 중요한 정보들이다.
Author And Source
이 문제에 관하여(wecode TIL day 13 (Oct 31)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@noahshin__11/shell-starbucks저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)