MVT의 Model?
model은 DB를 관리한다.
django는 sql을 사용하지 않아도 db와 상호작용 할 수 있다.
ORM을 사용해서!
ORM 👉 Object, 객체 단위로 db를 다룰 수 있게 해준다.
(django에는 ORM이 내장되어 있다)
models.py에서 모델을 만들 때에는 class 단위로 만들게 됨!
class <모델 이름>(models.Model):
# 이렇게 models.Model을 상속하는 모델을 만드는 구조.
# Field 1 각 attribute들이 실제 데이터의 컬럼이 됨.
# Field 2
field1 = models.FieldTYpe()... # 이렇게 datatype를 정해서 field를 만들수 있음
"""
문자열 : CharField (max_length 파라미터가 반드시 필요함)
숫자 : IntegerFiedl, SmallIntegerField, ...
논리형 : BooleanField
시간/날짜 : DateTimeField
"""
*DB의 필드 정보를 수정하더라도 migration을 진행하고 난 후에 DB에 반영됨.
$ python manage.py makemigrations homepage 👈
$ python manage.py migrate
처음부터 migrate를 해주면 안되고 git add 하듯 django에게 알려줘야 하는 것 같다..
def __str__(self):
return self.name
Name object 이런식으로 보여지기 때문에, 어떤 객체인지 알아보기 힘들다.
그래서 보기 편하게 이름으로 해당 객체를 표현할 수 있도록 추가.