django-admin.py dumpdata для операторов SQL
-
28-10-2019 - |
Вопрос
Я пытаюсь выгрузить свои данные в операторы SQL. django-admin.py dumpdata предоставляет только json, xml, yaml. итак:
-
Кто-нибудь знает, как это сделать ?!
-
Я пробовал это:
def sqldumper (модель):
result = "" units = model.objects.all().values() for unit in units: statement = "INSERT INTO myapp.model "+str(tuple(unit.keys())).replace("'", "")+" VALUES " + str(tuple(unit.values()))+"\r\n" result+=statement return result
поэтому я сам просматриваю значения модели и сам делаю оператор INSERT. затем я подумал об использовании «django-admin.py sql» для получения оператора «CREATE» ... но тогда я не знаю, как использовать эту строку изнутри моего кода (а не через командную строку). Я пробовал os.popen и os.system, но на самом деле это не работает .. какие-нибудь советы по этому поводу?
Я ясно выражаюсь: как использовать "manage.py sql" изнутри кода?
Я добавляю к своему обзору что-то вроде этого:
родовое словодело в том, что он работает .. но записывает операторы в stdout ... это что-то, но не идеально.Попробую напрямую использовать django.core.management.sql.sql_create, посмотрим, как пойдет ..
спасибо
Решение
Я предлагаю использовать программу дампа для SQL (например, mysqldump для MySQL).
Для sqlite, встроенного в Python, вы можете посмотреть этот пример без Django:
родовое слово