Tôi muốn lưu trữ tập dữ liệu lớn được tạo bằng Python trong mô hình Django. Ý tưởng của tôi là để chọn dữ liệu vào một chuỗi và tải nó lên FileField của mô hình của tôi. mô hình django của tôi là:Làm cách nào để tải dữ liệu đã được chuyển lên django FileField?
#models.py
from django.db import models
class Data(models.Model):
label = models.CharField(max_length=30)
file = models.FileField(upload_to="data")
Trong chương trình Python của tôi, tôi muốn làm như sau:
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))
Làm thế nào tôi nên sửa đổi dòng cuối cùng để lưu trữ somedata
trong file
bảo quản các đường dẫn được định nghĩa với upload_to
tham số ?
Vì vậy, chúng tôi đã rõ ràng: Bạn không nói về việc cho phép bất kỳ người dùng nào * tải lên bất kỳ dưa chua nào, đúng không? Đó sẽ là * cực kỳ * nguy hiểm, –
Không, không hề. Ý tưởng là tạo ra dữ liệu trên máy chủ và sau đó thêm chúng vào cơ sở dữ liệu. Người dùng sẽ chỉ được phép sửa đổi các tham số của các mô hình được sử dụng để tạo ra dữ liệu (chẳng hạn như phạm vi của các số ngẫu nhiên trong ví dụ trên). Trong ý nghĩa này nó không phải là một "tải lên" thực sự, nhưng dù sao tôi muốn django để quản lý các đường dẫn (tạo thư mục mới, tránh trùng lặp, vv). – btel