20200308 django bulk update
2020. 3. 9. 00:22ㆍ개발/Django
django를 활용하며 여러가지 상황을 맞닥뜨리다보니 같은 table의 각 row에 각기 다른 내용을 넣어야 할 때가 있다. 그 때나는
for something in Table.objects.filter(somethingsomething):
something.thing = some variable
something.save()
위와 같은 형식으로 해야하나?(굉장히 무식한 발상이다) 하는 생각을 했다가 검색을 하며 django documentation에 다음과 같은 내용을 발견했다.: https://code.djangoproject.com/ticket/23646
사용 예시: https://stackoverflow.com/questions/12661253/how-to-bulk-update-with-django
django-bulk-update를 활용하여 한꺼번에 update를 할 수 있다.
우선 위 코드에서 something.save()만 빼고, save를 한꺼번에 한다고 생각하면 될 것 같다.
from bulk_update.helper import bulk_update
target = Table.objects.filter(somethingsomething)
for something in target:
something.thing = some variable
bulk_update(target)
이게 정말로 효율적일지는 소스 코드 봐야 알 것 같다. 시간 나면 봐야지...
'개발 > Django' 카테고리의 다른 글
20200429 Django와 rest-framework (0) | 2020.04.29 |
---|---|
20200327 postgresql unnest (0) | 2020.03.27 |
20200309 django multi db & auto_commit (0) | 2020.03.09 |
20200306 Django Migration Conflict관련 (0) | 2020.03.06 |
1-1.Migration에 대하여..! (0) | 2020.02.09 |