如何覆盖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吗?又是如何做到的?
发布于 2015-09-27 16:18:57
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()有关更多信息,请参见关于自定义管理器的文档。
https://stackoverflow.com/questions/32809910
复制相似问题