Project using python/Cloning Airbnb

Django TabularInline and StackedInline

Cog Factory 2021. 2. 21. 10:34

TabularInline 

  TabularInline은 django.contrib.admin이 제공하는 같은 admin page에서 다른 model을 edit할 수 있는 ability를 부여한다. 예를 들어, photos/models.py에 Photo model이 있다고 하자. 그리고 rooms/admin.py에서 import한다.

photos/models.Photo
rooms/admin.RoomAdmin

  그리고 admin.TabularInline을 상속하는 class를 하나 생성하고 model에 Photo model을 초기화한다.

admin.TabularInline

  RoomAdmin에 inlines에 위에서 만든 PhotoInline class를 list로 주면 된다.

RoomAdmin

  url 주소를 보면 room-change page다. 여기에 Photo model을 edit할 수 있는 form이 생겨났다.

StackedInline

  StackedInline도 TabularInline과 code는 똑같다. 단지 admin page에서 보여지는 form의 형식이 stack 모양이다.

admin.StackedInline
admin page

참고 자료

 

소스 코드

github.com/zpskek/airbnb-clone-v3/commit/23753af0ccf2816830f11267815f0fa5b270141b