gpt4 book ai didi

python - django forms save() 有一个意想不到的关键字参数?

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:48 24 4
gpt4 key购买 nike

在我看来:

image = simple_image_form.save(quiet=True)

我的表单:

class SimpleImageForm(forms.ModelForm):

class Meta:
model = Image
fields = ("image",)

def __init__(self, *args, **kwargs):
self.request = kwargs.pop("request", None)
super(SimpleImageForm, self).__init__(*args, **kwargs)

def save(self, *args, **kwargs):
kwargs["commit"]=False
obj = super(SimpleImageForm, self).save(*args, **kwargs)
if self.request and self.request.user:
obj.member = self.request.user.get_current_member()
obj.save(*args, **kwargs)
return obj

保存时出现错误:

save() got an unexpected keyword argument 'quiet'

我认为通过将 **kwargs 作为参数,这不会发生。我做错了什么?

注意:quiet是obj.save函数中用于条件检查的参数,但既不是表单的属性也不是obj本身

最佳答案

是的,您的重写可以处理 kwarg 但您不应该对 super 调用做同样的事情:

obj = super(SimpleImageForm, self).save(commit=False)

应该可以。发生这种情况是因为 ModelFormsave 方法签名是:

def save(self, commit=True):

所以它不符合你的称呼方式。

希望这对您有所帮助!

关于python - django forms save() 有一个意想不到的关键字参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16801101/

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