Django bulk_create包含外键的大型数据集

时间:2016-10-26 09:01:18

标签: mysql django orm

我遇到在MySql上使用Django ORM中的外键创建大量数据的问题。 假设我有2个模型:

class Student(models.Model):
    school = models.ForeignKey(School, related_name="students")
    name = models.CharField(max_length=200, blank=True, default="")

class School(models.Model):
    name = models.CharField(max_length=200, blank=True, default="")

现在我想创建很多有很多学生的学校, 并假设我已经拥有一个数据结构,其中包含创建它所需的所有信息。

到目前为止,我发现的唯一方法是创建所有学校(为了获得PK),并在旅途中创建所有学生的列表(在所有学校中)并使用{{1}创造学生。

似乎应该有更好的方法来做到这一点。

因为例如我们在学校有10K学校和200名学生,我设法做的最低就是~10K插入,这是很多。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你做错了。最好使用灯具

阅读更多https://docs.djangoproject.com/en/1.10/howto/initial-data/https://code.djangoproject.com/wiki/Fixtures

基本上,您将创建将存储数据库当前数据的文件,然后运行将以最佳方式处理上载的命令./manage.py loaddata