gpt4 book ai didi

python - Django 表单初始化关键错误与 Kwargs

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:40 25 4
gpt4 key购买 nike

我正在尝试重写此表单上的 init 方法。看起来像这样:

def __init__(self, *args, **kwargs):
fr = None
if kwargs.get('friend', False):
fr = Friend.objects.get(pk=kwargs.get('friend'))
super(CreateFriendForm, self).__init__(*args, **kwargs)

self.fields["{}_house".format(fr.name)] = forms.ModelChoiceField(queryset=Houses.objects.all(), required=False)

所以,我想捕获 friend kwargs 并使用它,如上所示。根据通过的 friend ,我将添加一个字段。在我的测试中,我传递了以下数据:

    data = {
"user": self.user.pk,
"friend": self.friend.pk,
"language": 'en'
}
friend = self.form(data)
# Validity
self.assertTrue(friend.is_valid())
friend.save()

但是,我收到一条错误消息,指出存在关键错误:

if kwargs.get('friend', False):

我正在传递必要的数据( friend 、用户等),但它似乎不在 kwargs 中。这里有什么问题?谢谢。

最佳答案

问题是我将数据作为 arg 而不是 kwarg 传递到表单中。更改:

friend = self.form(data)

至:

friend = self.form(data=data)

解决了我遇到的主要问题。

关于python - Django 表单初始化关键错误与 Kwargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195585/

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