我正在尝试将我的数据转储到 SQL 语句中。django-admin.py 转储数据仅提供 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 ,我们会看看它是怎么回事..
谢谢