簡體   English   中英

Django覆蓋bulk_create

[英]Django override bulk_create

如何覆蓋bulk_create方法? 我試試這個

class SomeModel(models.Model):
    field = models.CharField()

    def bulk_create(self, objs, batch_size=None):
        #do something
        return super(SomeModel, self).bulk_create(objs, batch_size)

但它不起作用。 當我運行此代碼時

SomeModel.objects.bulk_create(objects_list)

它創建了新對象,但它不使用我的覆蓋bulk_create方法。 是否可以覆蓋bulk_create? 如何?

bulk_createManager類的一個方法, SomeModel.objectsManager一個實例。 您需要子類化Manager並在那里覆蓋該方法,然后將管理器添加到SomeModel

class SomeModelManager(models.Manager):
    def bulk_create(self, objs, batch_size=None, ignore_conflicts=False):
        ...

class SomeModel(models.Model):
    objects = SomeModelManager()

有關更多信息,請參閱自定義管理器文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM