1. 리스트 페이지 changelist-form
2. admin.py 수정 (1)
3. order_change_list.html 생성
function order_refund_submit(obj_id) # obj_id를 매개변수로 받는 함수
# id = changelist-form에 value를 obj_id로 설정한 input 태그를 추가
jQuery("#changelist-form").append('<input type="hidden" name="obj_id" value="' + obj_id + '">');
jQuery("#changelist-form").submit(); # 해당 폼을 submit (POST request)
4. admin.py 수정 (2)
5. admin.py 수정 (3)
6. 동작 과정 (원리)
① 환불하고 싶은 주문 항목의 환불 버튼을 누르면 order_refund_submit 함수로 해당 행의 pk 값이 전달
② order_refund_submit 함수에서 changelist-form 폼에 태그를 추가하고 submit (POST request)
③ changelist_view에서 POST.get('obj_id')를 통해 주문항목의 pk 값을 얻어 해당 행 추출
④ 환불 작업 진행
1. 쿼리셋 [] index로 접근하여 환불 작업 수행 시 error
하지만 아래와 같이 qs로 for문을 돌리고 상관없는 i로 받아도 제대로 환불 작업이 수행됨
결론 - 이유를 모르겠다.