[英]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_create
是Manager
類的一個方法, SomeModel.objects
是Manager
一個實例。 您需要子類化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.