我正在尝试将数据转储到SQL语句中。 django-admin.py dumpdata仅提供json,xml,yaml。 所以:

  1. 有人知道这样做的好方法吗?!

  2. 我尝试过:

    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”?

    我在视图中添加了以下内容: 通用标签

    问题是-它可以工作..但是它将语句写入标准输出... 这是东西,但并不完美。我将尝试直接使用django.core.management.sql.sql_create,我们将看看它如何进行。

    谢谢

有帮助吗?

解决方案

我建议使用特定于SQL的转储程序(例如 mysqldump 对于MySQL)。

对于嵌入在Python中的sqlite,您可以查看此示例不涉及Django: 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top