首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django覆盖bulk_create

Django覆盖bulk_create
EN

Stack Overflow用户
提问于 2015-09-27 16:01:57
回答 1查看 3.8K关注 0票数 8

如何覆盖bulk_create方法?我试试这个

代码语言:javascript
复制
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)

但不起作用。当我运行这段代码时

代码语言:javascript
复制
SomeModel.objects.bulk_create(objects_list)

它创建了新的对象,但它不使用我的重写bulk_create方法。可以覆盖bulk_create吗?又是如何做到的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-27 16:18:57

bulk_createManager类上的一个方法,SomeModel.objectsManager的一个实例。您需要子类Manager并在那里重写方法,然后将管理器添加到SomeModel中。

代码语言:javascript
复制
class SomeModelManager(models.Manager):
    def bulk_create(self, objs, batch_size=None, ignore_conflicts=False):
        ...

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

有关更多信息,请参见关于自定义管理器的文档。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32809910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档