我遇到在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插入,这是很多。
提前谢谢。
答案 0 :(得分:0)
我认为你做错了。最好使用灯具
阅读更多https://docs.djangoproject.com/en/1.10/howto/initial-data/和 https://code.djangoproject.com/wiki/Fixtures
基本上,您将创建将存储数据库当前数据的文件,然后运行将以最佳方式处理上载的命令./manage.py loaddata