覆盖查询集的更新方法 - Django

2023-12-23

我们如何更改 django 中查询集的 update 方法的默认过程,因为它不会为每个对象调用 save 方法。由于我已经重写了 save 方法,因此每次更改对象时都需要调用它。 我寻找Django 文档 https://docs.djangoproject.com/en/dev/topics/db/managers/#modifying-initial-manager-querysets但这只是为了get_query_set,更新方法是否也有类似的东西。


这对我有用


class MyQuerySet(models.query.QuerySet):
    def update(self, *args, **kwargs):
        # here queryset update method overridden
        pass

class NewManager(models.Manager):
    def get_queryset(self):
        # this is to use your custom queryset methods
        return MyQuerySet(self.model, using=self._db)

class MyModel(models.Model):
    objects = NewManager()
    myfield = models.SomeTypeOfField(**kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

覆盖查询集的更新方法 - Django 的相关文章

随机推荐