Me gustaría almacenar grandes conjuntos de datos generados en Python en un modelo de Django. Mi idea era reunir los datos en una cadena y subirlos a FileField de mi modelo. Mi modelo de Django es:¿Cómo cargo datos en escabeche a 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")
En mi programa de Python me gustaría hacer lo siguiente:
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))
Cómo debería modificar la última línea para almacenar somedata
en file
preservar las rutas definidas con upload_to
parámetro ?
Solo para que quede claro: no estamos hablando de dejar que * usuarios * carguen pepinillos, ¿verdad? Eso sería * extremadamente * peligroso, –
No, en absoluto. La idea es generar los datos en el servidor y luego agregarlos a la base de datos. Los usuarios solo podrán modificar los parámetros de los modelos utilizados para generar los datos (como el rango de los números aleatorios en el ejemplo anterior). En este sentido, no es una "carga" real, pero de todos modos me gustaría que django administre las rutas (crear directorios nuevos, evitar duplicados, etc.). – btel