Экспортировать данные модели Django как файл MySQL? - PullRequest
0 голосов
/ 11 ноября 2011

Я пишу приложение Django, которое выполняет научные вычисления для клиента, и он хочет иметь возможность экспортировать данные в виде файла дампа MySQL.Есть ли простой способ сделать это или мне нужно написать собственный сериализатор?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Для этого не нужно использовать Django. MySQL включает в себя команду, которая сделает это за вас:

mysqldump -u USERNAME -pPASSWORD DATABASE_NAME > DATABASE_FILE.sql
0 голосов
/ 11 ноября 2011

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

примерно так:

def dump(w, qs):
    for r in qs:
        w.write ("insert into tablename (fieldA, fieldB, fieldC) values ('%s', '%s', %d);\n" % (
            quote(r.fieldA), quote(r.fieldB), int(r.fieldC)))

при условии, что fieldA и fieldB являются строками, fieldC - это целое число, а quote() - функция безопасного сброса MySQL.Параметр w является объектоподобным объектом (может быть объектом Django HttpResponse), а qs - это набор запросов с требуемыми данными.

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