📌UserAdmin (Django가 제공하는 어드민 패널)
파란 라인 있는 박스 = fieldset
기본 장고 어드민 fieldset + 추가해주고 싶다면 하단처럼.
banana fieldset을 만들어주었다.
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from . import models
# Register your models here.
@admin.register(models.User)
class CustomUserAdmin(UserAdmin):
""" Custom User Admin """
fieldsets = UserAdmin.fieldsets + (
("Banana", {"fields": ("avatar", "gender", "bio")}),
)
바나나 필드셋이 추가 생성된 것을 볼 수 있다.
😃 [RECAP]
📌Application = a group of functions
📌우리가 Django의 코드를 이용하는게 아니라(Library𝙓 Framework 𝙊) , Django가 우리가 쓴 코드를 사용하는 것이다.
📌Django에는 ORM(Object Relational Mapping) 이라는 것이 탑재되어 있다.
👉ORM(Object Relational Mapping) = 우리가 작성한 파이썬 코드(model.py에서 작성한 코드)를 SQL문으로 바꿔서 Database가 알아들을 수 있도록 해준다.
👉즉, 우리가 SQL문을 쓸 필요가 없다.
👉이때, model.py는 fields로 구성되어 있다. 이 field들은 장고가 제공하는 것으로, 이미 데이터의 유효성 검사까지 해놓아 아주 편하다. ex. ImageField 코드를 사용하면, 장고 웹에서 작동해볼때 이미지 아닌 파일들은 업로드가 안됨!
📌model.py에서 작성해준 field들을 어드민패널에서 직접 보기위해서는, admin.py에서 register해줘야 한다.
📌migration은 나중에 한번만 해주는 것이 좋다.
👾 Country choices 생성하기 - 모든 국가 정보 다운로드 받기
구글에 Django Countries 검색 👉 github.com/SmileyChris/django-countries
먼저 shell 안에서 💥pipenv💥로 install을 해준다.
그리고 setting.py에서 THIRD_PARTY_APPS 에 추가해준다.
📌Tip
import할 때, 코드 작성 순서 : 위에서부터.
1️⃣python
2️⃣Django
3️⃣Third Party source
🔗서로 다른 모델 연결하기
📌 1) 일대다 연결
models.ForeignKey()
💥__str__
파이썬이 클래스를 발견하면 클래스를 마치 string처럼 보여줘야 하는데, 이 method를 파이썬에서 __str__이라고 표시한다.
📌다대다 연결 (ex. users can have many rooms)
models.ManyToManyField()
'💻 Deep Wide Programming > Django' 카테고리의 다른 글
[⛺️Django] MORE about ADMINS + a #학습메모 (0) | 2020.11.15 |
---|---|
[⛺️Django] MODELS AND QUERYSETS 메모 (0) | 2020.11.11 |
[⛺️클론코딩] django App 만들기 실습 #메모 (0) | 2020.11.03 |
[⛺️클론코딩] django Creating the Apps/ Models (0) | 2020.11.03 |
[⛺️클론코딩] 장고 서버 실행하기, 장고 App 기획 (0) | 2020.11.01 |