1

我想创建一个表,然后创建一个应该插入到该表中的数据列表。南方有能力做这种事吗?如果是这样,你有什么参考可以告诉我如何做到这一点?

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

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

4

2 回答 2

7

你可以!这称为“数据迁移”

很多时候你可能想要使用一个:上面的链接给出了一个很好的例子,另一个是“每个 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,以与站点框架一起使用)

于 2012-08-08T21:44:16.057 回答
4

你想使用fixtures

  1. 在您的应用程序文件夹中创建一个固定装置目录。
  2. 在该文件夹中创建一个字典文件 intial_data.json(或 XML/YAML)
  3. 使用您要插入的数据填充文件。例子
  4. Run manage.py loaddata <fixturename><fixturename>您创建的夹具文件的名称在哪里。

South 以几乎相同的方式处理这个问题,但似乎 Django 的核心方法更有文档记录。

于 2012-08-08T15:55:21.777 回答