#sql #django
#sql #джанго #django
Вопрос:
Я хочу использовать эту функцию: django.core.management.sql.sql_create на мой взгляд, для получения инструкций «CREATE»
функция получает 3 аргумента:
приложение, стиль, подключение
что такое «приложение»?? это конкретный объект или просто название приложения?!
Я знаю, что стиль как-то связан с цветами… Я считаю, что django.core.management.color.colorstyle () должен работать..
что насчет подключения, как мне его получить?
Спасибо
=========================== отредактировано отсюда вниз
хорошо, через некоторое время я разобрался с вещами, вот что у меня получилось:
def sqldumper(модель): """получает модель БД и возвращает инструкции SQL для ее построения в другой базе данных, поддерживающей SQL""" #Вот как django вставляет новую запись #u'ВСТАВЬТЕ В ЗНАЧЕНИЯ "polls_poll" ("вопрос", "pub_date") (GE!!, 2011-05-03 15:45:23.254000)' результат = "BEGIN; n" #добавить инструкции для СОЗДАНИЯ ТАБЛИЦЫ результат = 'n'.join(sql_create(модели.get_app('опросы'), color_style(), connections.all()[0])) " n" результат = 'n'.join(sql_custom(модели.get_app('опросы'), color_style(), connections.all()[0])) " n" результат = 'n'.join(sql_indexes(модели.get_app('опросы'), color_style(), connections.all()[0])) " n" результат = 'n' #добавить ВСТАВКУ В staetements единицы измерения = модель.объекты.все().значения() для unit в единицах: оператор = "ВСТАВИТЬ В yourapp.model" str (кортеж(unit.keys())) "ЗНАЧЕНИЯ" str (кортеж (unit.values())) "n" результат =оператор результат ="nCOMMIT; n" возвращает результат.encode('utf-8')
это все еще немного странно, потому что вы получаете ТАБЛИЦУ СОЗДАНИЯ для всего приложения, но ВСТАВЛЯЕТЕ В только для модели, которую вы запрашиваете …. но это исправимо отсюда
Ответ №1:
Это models.py модуль, найденный в одном из ваших приложений:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'myproject.myapp',
)
Когда я распечатал это, я получил < module 'myproject.myapp.models' from '...' >
. Я использовал многоточия вместо ввода всего models.py путь к файлу.
Комментарии:
1. хорошо, я вроде как разобрался — я отредактировал свой вопрос (потому что как новичку вам не разрешено публиковать ответы на свой собственный вопрос … 🙂 спасибо, Брайс!