Обновите базу данных с загруженным файлом, используя Django - PullRequest
1 голос
/ 15 марта 2011

Я новичок в Django
У меня есть база данных MySQL, которую я хочу обновить с помощью файла csv .Я собираюсь использовать команду LOAD DATA MySQL. Как мне это сделать?- или есть лучший способ?

Как мне создать форму для загрузки?

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Вы можете использовать модуль csv в Python для чтения файла и циклического перемещения по строкам:

import csv

csv_file = open('path/to/file', 'rb')
reader = csv.reader(csv_file)

for column1, column2, column3 in reader:
    #do something with the data here

Надеюсь, это поможет!

Этот раздел является продолжением, показывающим пример просмотра:

#NOT TESTED
import csv

from django.shortcuts import render_to_response

form my_app.forms import MyForm
from my_app.models import MyModel

def my_view(request):
    if request.method == 'GET':
        form = MyForm()
    else:
        form = MyForm(request.FILES, request.POST)
        if form.is_valid():
            the_file = form.cleaned_data.get('the_file_field', None)
            if the_file:
                reader = csv.reader(the_file)
                for column1, column2, column3 in reader:
                    my_model = MyModel.objects.create(column1=column1, \
                    column2=column2, column3=column3)
    return render_to_response('my_template.html', {'form' : form})
0 голосов
/ 15 марта 2011

Чтобы сделать это с помощью Django, вам может быть лучше написать представление и вспомогательную модель, которая будет иметь форму для загрузки вашего файла, а затем анализировать файл построчно для информации, которая будет вставлена ​​в вашу базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...