파이썬에서 생성 된 대용량 데이터 집합을 장고 모델에 저장하고 싶습니다. 내 생각은 데이터를 문자열로 pickleing하여 내 모델의 FileField에 업로드하는 것이 었습니다. 내 장고 모델은 다음과 같습니다 file
upload_to
매개 변수로 정의 된 경로를 보존에 내가 somedata
를 저장하는 마지막 줄을 수정하는 방법어떻게 절인 된 데이터를 장고 FileField에 업로드하나요?
import random, pickle
data_entry = Data(label="somedata")
somedata = [random.random() for i in range(10000)]
# Next line does NOT work
#data_entry.file.save(filename, pickle.dumps(somedata))
:
내 파이썬 프로그램에서#models.py
from django.db import models
class Data(models.Model):
label = models.CharField(max_length=30)
file = models.FileField(upload_to="data")
다음 작업을 수행 할 싶습니다 ?
우리는 분명히 다음과 같이 말하고 있습니다. 사용자가 피클을 업로드하는 것을 말하는 것이 아닙니다. 맞습니까? 그것은 매우 위험 할 것입니다. –
아니오, 전혀 아닙니다. 아이디어는 서버에서 데이터를 생성 한 다음 데이터베이스에 추가하는 것입니다. 사용자는 데이터를 생성하는 데 사용 된 모델의 매개 변수 (위의 예에서 임의의 숫자 범위) 만 수정할 수 있습니다. 이 의미에서 그것은 실제 "업로드"가 아니지만 어쨌든 장고가 경로를 관리하고 싶으면 (새로운 디렉토리를 만들고 중복을 피하십시오). – btel