Есть ли способ поместить данные JSON в модели django?
Итак, я хочу сделать следующее: принять CSV файл в качестве входных данных из HTML формы, затем преобразовать CSV в JSON и поместить значения JSON в модель Django.
Я искал в Интернете, но ответы были недостаточно убедительными, и они также не были тем, чего я хотел.
Есть ли способ сделать это? Любая помощь будет принята с благодарностью. Заранее спасибо!
Вы можете преобразовать данные CSV в JSON с помощью модулей csv и json, как объясняется в этом обсуждении на Stack Overflow
.
Затем, вы можете хранить json данные в модели Django благодаря django-jsonfield. Вы можете взглянуть на ответ mdegis в этом обсуждении Stack Overflow
.
Я собираюсь дать вам логику. Я не тестировал код. Вам может понадобиться очистить views.py.
Перед началом работы в командной строке:
pip install pandas
в HTML:
<input type="file" accept=".csv" />
в файле views.py
import pandas as pd
def form_page(request):
if request.method == 'POST':
df = pd.read_csv (request.POST.get('csv'))
df.to_json (turned_json)
my_obj = CsvModel.objects.create(csv_file=turned_json)
my_obj.save()
return render(request, 'form.html')
в models.py
class CsvModel(models.Model):
csv_file = models.FileField()