Есть две модельки, взятые с потолка:
class Book(models.Model): author = models.ForeignKey('Author') title = models.CharField(max_length=100) page_count = models.IntegerField() exists = models.BooleanField() chars_count = models.BigIntegerField() digit_version = models.BinaryField() important_pages = models.CommaSeparatedIntegerField(max_length=1000) wrote = models.DateField(auto_now=True) published = models.DateTimeField(auto_now=True) cost = models.DecimalField(max_digits=65, decimal_places=2) sale_cost = models.FloatField() image = models.ImageField(upload_to='media') book_addition = models.FileField(upload_to='media') class Author(models.Model): name = models.CharField(max_length=100) mail = models.EmailField(max_length=254)
дальше создаю 10000 авторов и книг, так вот 10000 авотров создаются почти моментально, а вот 10000 книг создаются около 17секунд. Это нормально?!
RECORDS_COUNT = 10000 objs_list = [] for i in range(RECORDS_COUNT): obj = Author(name='author_'+str(i), mail='author_'+str(i)+'@djangomail.de') objs_list.append(obj) Author.objects.bulk_create(objs_list) objs_list.clear() authors = Author.objects.all() for i in range(RECORDS_COUNT): obj = Book(author=authors[i], title='book_'+str(i), page_count=300, exists=True, chars_count=300000, cost=347.77, sale_cost=244.07) objs_list.append(obj) Book.objects.using(db_engine_name).bulk_create(objs_list)