django - ForeignKey필드 csv파일로 업로드하기

whybein·2020년 2월 28일
0

django

목록 보기
9/13
post-thumbnail

django - bulk_create으로 csv파일 올리기에서 제한됐던 ForeignKey필드에 csv파일로 업로드 하는 간단한 방법입니다.

 

1. CSV 파일 준비

 

필드명은 제거하고 쉼표형식으로 구분된 csv파일을 준비합니다. 이 데이터는 이미 입력된 데이터의 id(자동생성된 primary key) 그리고 카테고리id입니다.

1,2
2,4
3,5
4,1
5,2
.
.
.

 


2. 실행 코드

 

import csv
from product.models import *
# 필요 모듈을 import합니다.

hand = open('data.csv')
reader = csv.reader(hand)
# csv 파일을 읽고 변수에 저장합니다.


for row in reader:
    a = Product.objects.filter(id=row[0])
    a.update(category_id=row[1])
# id가 첫번째 열 값인 객체의 category_id를 두번째 열의 값으로 업데이트합니다.
# 이 작업을 각 행마다 반복합니다.
profile
Back-End Developer

0개의 댓글