gpt4 book ai didi

python - 重写Django queryset的Update方法

转载 作者:太空狗 更新时间:2023-10-30 01:05:46 25 4
gpt4 key购买 nike

作为其中一项要求的一部分,我们将覆盖自定义查询集中的更新方法。

示例代码如下。

from django.db.models.query import QuerySet

class PollQuerySet(QuerySet):
def update(self, *args, **kwargs):
# Some Business Logic

# Call super to continue the flow -- from below line we are unable to invoke super
super(self, kwargs)

class Question(models.Model):
objects = PollQuerySet.as_manager()

question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')

无法从自定义查询集中调用基本查询集中的更新。

TypeError at /polls/ must be type, not PollQuerySet

非常感谢任何解决方案。

最佳答案

如果我没有正确理解你的问题,那么你无法调用父类(super class)中的更新方法。如果是这样,那是因为你说错了。方法如下:

super(PollQuerySet,self).update(*args, **kwargs)

在 python 3.x 的情况下,类名和 self 成为可选参数。所以上面的行可以缩短为

super().update(*args, **kwargs) 

关于python - 重写Django queryset的Update方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com