南(Django的)可以插入数据行到数据库?(Can the South (for Django)

2019-10-17 03:20发布

我想创建一个表,然后是一个应该被插入到表中的数据的列表。 南方一点必须做这样的事情的能力? 如果是这样,你有任何引用,以证明我这可怎么办呢?

我希望能够做到这一点,因为在这一点上,似乎有“精确”相同的数据的唯一方法是手动将其插入到数据库中自己。

我想在一个表中插入行的一些“好”自动化的方式。

Answer 1:

你想使用灯具 。

  1. 创建你的应用程序的文件夹fixtures目录。
  2. 创建该文件夹,intial_data.json(或XML / YAML)字典文件
  3. 填入你要插入的数据文件。 例
  4. 运行manage.py loaddata <fixturename>其中<fixturename>是您创建的固定文件的名称。

南处理这几乎相同的方式,但它似乎是Django的核心方法是多有记载。



Answer 2:

您可以! 它被称为“数据迁移” 。

有很多时候,你可能需要使用一个:上面的链接提供了一个很好的例子,另一种则是“为每一个Django项目数据迁移” :

from south.v2 import DataMigration
from django.conf import settings

class Migration(DataMigration):

    def forwards(self, orm):
        Site = orm['sites.Site']
        site = Site.objects.get(id=settings.SITE_ID)
        site.domain = settings.DOMAIN_NAME
        site.name = settings.SITE_NAME
        site.save()

(此拿起从域名和网站名称settings.py ,与使用站点框架 )



文章来源: Can the South (for Django) insert rows of data into database?