#8.0 Methods
- 검색 창에 대해 알아볼 거임
- 검색창에 우리만의 액션, 우리만의 필터를 만드는 것도 배울거임
def rating(room):
count = room.reviews.count()
if count == 0:
return "No Reviews"
else:
total_rating = 0
for review in room.reviews.all().values("rating"):
total_rating += review["rating"]
return round(total_rating / count, 2)
- rooms의 model.py에 다음과 같이 작성
- rooms에서 리뷰의 평점을 볼 수 있게 할 것임
#8.1 Search Fields
- room안에서 검색을 할 때 search fields 메소드를 이용해 다양한 조건을 추가할 수 있음, 또한 어떤 속성을 기준으로 검색이 될 지도 설정할 수 있음
#8.2 Admin Actions
- admin액션을 추가할 거임
- admin.py에 다음과 같이 작성
@admin.action(description="Set all prices to zero")
def reset_prices(model_admin, request, rooms):
for room in rooms.all():
room.price = 0
room.save()
- Roomadmin class안에 이것도 추가
actions = (reset_prices,)
#8.3 Cusom Filters
- 우리만의 필터를 만들거임
- 특히 관계만으로도 필터 가능
#8.4 Recap
- 검색 필드 search_fields에 대해 배움
'Backend > Django' 카테고리의 다른 글
[백엔드][장고][Django] Chapter #10 (0) | 2023.07.18 |
---|---|
[백엔드][장고][Django] Chapter #9 (0) | 2023.07.17 |
[백엔드][장고][Django] Chapter #7 (0) | 2023.07.17 |
[백엔드][장고][Django] Chapter #6 (0) | 2023.07.15 |
[백엔드][장고][Django] Chapter #5 (0) | 2023.07.13 |
Uploaded by Notion2Tistory v1.1.0