2016-10-13 2 views

답변

1

django.db.transaction에서 사용 atomic 함수 주위에 장식하면 이후에있는 데이터베이스 작업 수행과 같이

obj_list 경우는 인구 (만 저장되지) 모델 객체의 목록을 포함,이 하나의 일환으로 모든 작업을 실행합니다 트랜잭션. 그들은 같은 유형의 모든 경우

@atomic def save_multiple_objects(obj_list): for o in obj_list: o.save()

그런 다음 같은 API 요청의 일환으로 여러 개체를 저장하려면

(예를 들어), 다음은 API에 개체의 목록을 게시 할 수 끝점 - 참조 Django REST framework post array of objects

1

django db transactions을 사용하여이를 수행 할 수 있습니다. 아래 코드를 참조하십시오

from django.db import transaction 

with transaction.atomic(): 
    model_instance = form.save(commit=False) 
    model_instance.creator = self.request.user 
    model_instance.img_field.field.upload_to = 'directory/'+model_instance.name+'/logo' 
    self.object = form.save() 

이 예제는 SO post에 대한 저의 답변에서 가져 왔습니다. 이렇게하면 before calling save() you can save/edit other dependencies

관련 문제