App 만들기 : 'python manage.py startapp app이름' -> App이름 폴더가 생성됨.
models.py: App에서 데이터의 모양을 설명하는 파일. 파이썬 코드와 클래스로 설명해야함.
class House(models.Model): #Model을 상속받아야함.
name = models.CharField(max_length=140) #추가할 각각의 요소의 데이터 타입을 적어주어야함.
price = models.PositiveIntegerField()
max_length와 같이 attribute나 다른 정보들은 https://docs.djangoproject.com/en/4.1/ django 공식 문서를 보면 알 수 있다.
⭐
App를 만들면 config/settings.py에 있는 INSTALLED_APPS에 경로를 적어주어야함. 여기서 경로는 models.py의 경로가 아니라, 우리가 만든 App이름 폴더의 apps.py에 있는 class명이다.
django는 커스텀 데이터에 대한 관리 패널을 자동으로 생성해줄 수 있다.
만든 App 폴더의 admin.py에서 'from .models import 클래스명'을 해주어야한다.
이후에 아래 코드와 같은 것을 할 수 있다.
@admin.register(House) #House를 위한 admin
class 이름(admin.ModelAdmin): #ModelAdmin은 우리의 model을 위한 Admin 패널
#기본 admin패널에서 수정할 것이 없다면 pass
list_display = (...)
list_filter = (...)
search_fields = (...)
이후에 그냥 적용하면 오류가 생긴다. migration을 해주어야 하는데, 이번에는 직접 DB 파일을 만들어주어야한다.
'python manage.py makemigrations'을 입력해주어야한다. 그리고 똑같이 'python manage.py migrate'를 해주면 정상적으로 보인다.
⭐
728x90
'노마드 코더 Airbnb 클론 코딩' 카테고리의 다른 글
노마드 코더 에어비앤비 클론 코딩 #7 ORM (0) | 2022.10.19 |
---|---|
노마드 코더 에어비앤비 클론코딩 #6 Models and Admin (0) | 2022.10.17 |
노마드 코더 에어비앤비 클론코딩 #5 USERS APP (1) | 2022.10.13 |
노마드 코더 에어비앤비 클론코딩 #3 (0) | 2022.10.09 |
객체 지향 프로그래밍 (1) | 2022.10.04 |