あなたのjjangoクエリを改善する👋
Blog
というモデルがあります.class Blog(models.Model):
title = models.CharField(max_length=255)
content = models.CharField(max_length=500)
そして、あなたのデータベースに10のブログを挿入したいので、私たちの意見を構築しましょう.class BlogApi(APIView):
def get(self, request):
for _ in range(10):
blog = Blog.objects.create(
title = 'Blog Title',
content = 'Blog Content'
)
return Response(status=status.HTTP_201_CREATED)
これは、あなたが見ることができるようにCPU時間268.63👇→上記のデバッグはdjango-debug-toolbar
では、違いを見るために😉
class BlogApi(APIView):
def get(self, request):
blog_list = [] # Empty list to save blog object on
for _ in range(10):
blog = Blog(
title = 'Blog Title',
content = 'Blog Content'
)
blog_list.append(blog)
Blog.objects.bulk_create(blog_list) # Use bulk_create to insert the list of blog objects
return Response(status=status.HTTP_201_CREATED)
これはいくらかかりますか.CPU時間156.79 msで1.35 msでわずか2クエリ!
すごいよ😅
docsから
bulk_create
とbulk_create()
についてもっと読んでください最後に、読書のおかげで、私はあなたがdjango🌼
Reference
この問題について(あなたのjjangoクエリを改善する👋), 我々は、より多くの情報をここで見つけました https://dev.to/mohamedhamza/improve-your-django-query-with-bulkcreate-4e78テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol