Я пытаюсь вывести свои данные в операторы 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" из своего кода?
Я добавляю что-то вроде этого на мой взгляд:
import os, sys
import imp
from django.core.management import execute_manager
sys_argv_backup = sys.argv
imp.find_module("settings")
import settings
sys.argv = ['','sql','myapp']
execute_manager(settings)
sys.argv = sys_argv_backup
Дело в том, что это работает .. но он пишет заявления в стандартный вывод ...
это что-то, но не идеально. Я попробую использовать django.core.management.sql.sql_create напрямую, посмотрим, как это будет ..
спасибо