2014-08-27 1 views
0

Django 문서에서 it mentions은 새 관련 세트를 직접 지정하면 더 이상 세트에없는 모델을 삭제하는 대신 간단히 연결 해제합니다. 즉django 관련 모델 세트를 설정하고 더 이상 설정하지 않은 모델을 삭제합니다.

,이 같은 상황이있는 경우 :

#author.books contains [book1, book2, book3] 
author.books = [book1, book2] 
author.save() 

책 3 모델이 더 이상 저자와 연관되어 있지만이 삭제되지 않습니다. 모델을 분리하고 삭제하는 방법이 있습니까? 이 때문에

답변

0

book3는 모델 객체 인 경우, 당신은 단지

book3.delete() 

를 실행하는 것 그리고 (즉, 예를 들어 키 또는 다 대다 키의 경우)는 저자의 책에서 연결을 해제합니다 삭제됨 레코드는 Book 모델에서도 삭제됩니다.

+0

그래,하지만 만약 내가 항목의 새로운 배열을 전달하는 경우, 논리가 약간 이상 지나치게 장황하게된다. 왜냐하면 나는 배열에서 더 이상 아이템을 확인하지 않아야하기 때문이다. 자동 방법이 없나요? –

+0

작성자가 아닌 모든 서적을 삭제 하시겠습니까? 'model'에서'save()'메소드를 오버라이드 할 수는 있지만, 삭제할 서적에 대한 논리가 필요합니다. –