어떻게 DRF APIView 두 개의 관련 테이블에서하지 동료 갱신을

문제

이 두 테이블, 제품 테이블, 테이블 CATEGORY_ID 분류 테이블 ID에 저장된 상품의 분류를위한 테이블이 있지만, 기본 키를 선언하지 않았다.
패치 요청 장고를 수신 할 때 전면 차등 업데이트, 수신 상품 카테고리 이름을 수행 할 때, 당신은 제품 유형 이름으로 백 엔드 ID 분류를 찾을 필요, 업데이트가 ,, 따라서 호출하는 방법을 찾을 필요가있다

해결 과정

그림 삽입 설명 여기상위 클래스의 방법으로 패치 포인트 찾기
그림 삽입 설명 여기패치 방법을 찾을 수를 partial_update 부모 클래스라는 방법을 발견,보기에 포인트로 계속이
그림 삽입 설명 여기마지막 통화 또는 업데이트 방법, 그냥 여부 패치의 부울 값을 전달 것을 발견했다. 업데이트 방법으로
그림 삽입 설명 여기우리가 업데이트 방법을 다시 작성할 수 있도록 여기 들어오는 request.data 전에, 데이터, 추가 CATEGORY_ID 캔을 수정할 수 있습니다.

방법 1

그림 삽입 설명 여기이 경우 해결할 수 있습니다.

두 번째 방법

마지막 기사 도메인 이름 I의 재 작성의 get_serializer_context () 메소드를 포함하지 않는 사진 반환 주소를 확인하고 지금 업데이트 방법을 다시 작성하기 위해 언급은, 업데이트 방법을 찾을 수
그림 삽입 설명 여기get_serializer () 메소드를 포인트 가서
그림 삽입 설명 여기우리가 직접 제거 할 수 있습니다 kwargs로는 할당 주석 상황, 당신은 하나의 돌로 두 마리를 죽일 수, 해결, 데이터를 수정합니다. 그것은 다음 수정) 여기에 사전에 직접 복사 (수정할 필요가 없다는 것을 주목해야한다
그림 삽입 설명 여기완벽한 솔루션을, 당신은 들어오는 클래스 이름을 수정할 수 있습니다
그림 삽입 설명 여기

출시 세 원저 · 원의 칭찬이 · 전망 (60)

추천

출처blog.csdn.net/qq_38727902/article/details/104797447