How can i use signals in django bulk create

前端 未结 2 1002
甜味超标
甜味超标 2021-02-05 06:31

I have this code

Task.objects.bulk_create(ces)

Now this is my signal

@receiver(pre_save, sender=Task)
def save_hours(sender, instanc         


        
2条回答
  •  南旧
    南旧 (楼主)
    2021-02-05 06:50

    Iterating on the answer above:

    Python 2:

    class CustomManager(models.Manager):
        def bulk_create(self, objs, **kwargs):
            #Your code here
            return super(models.Manager,self).bulk_create(objs,**kwargs)  
    

    Python 3:

    class CustomManager(models.Manager):
        def bulk_create(self, objs, **kwargs):
            #Your code here
            return super(CustomManager, self).bulk_create(objs,**kwargs)  
    

    class Task(models.Model):
        objects = CustomManager()
        ....
    

    Complete answer in python 2:

    class CustomManager(models.Manager):
    
    def bulk_create(self, objs, **kwargs):
        a = super(models.Manager,self).bulk_create(objs,**kwargs)
        for i in objs:
            post_save.send(i.__class__, instance=i, created=True)
        return a
    

提交回复
热议问题