Django bulk_create function example

前端 未结 2 1750
半阙折子戏
半阙折子戏 2021-02-06 23:58

I\'m trying to understand bulk_create in Django

This was my original query I\'m trying to convert:

for e in q:
    msg = Message.objects.create(
                 


        
相关标签:
2条回答
  • 2021-02-07 00:22

    The second code in the question create a single object, because it pass a set with a Message object.

    To create multiple objects, pass multiple Message objects to bulk_create. For example:

    objs = [
        Message(
            recipient_number=e.mobile,
            content=batch.content,
            sender=e.contact_owner,
            billee=batch.user,
            sender_name=batch.sender_name
        )
        for e in q
    ]
    msg = Message.objects.bulk_create(objs)
    
    0 讨论(0)
  • 2021-02-07 00:29

    The Official Example:

    class Entry(models.Model):
        blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
        headline = models.CharField(max_length=255)
        body_text = models.TextField()
        pub_date = models.DateField()
        mod_date = models.DateField()
    

    Now, to Bulk Create

    Entry.objects.bulk_create([
            Entry(headline='This is a test'),
            Entry(headline='This is only a test'),
     ])
    
    0 讨论(0)
提交回复
热议问题