在Python中将元组传递给__init__

林阿诺

我有这样的课。

class AddNoteForm(forms.Form):
    def __init__(self, test_values, *args):
        self.custom_choices = test_values
        super(AddNoteForm, self).__init__()
        self.fields['choices'] = forms.ModelMultipleChoiceField(label='Test Choices', choices=self.custom_choices)

我想在创建课程时传递这个元组。

test_values = (
    ('name1', 'value1'), 
    ('name2', 'value2'),
    ('name3', 'value3'),
)

form = AddNoteForm(test_values)

但是每当我这样做时,我都会得到一个__init__() takes at least 2 arguments (2 given)错误。我也在使用python 2.7(和Django 1.8)。

我查看调试页面中的变量,并且self.custom_choices包含正确的值(我传递给函数的test_values)。

有任何想法吗?

小小鸟

ModelMultipleChoiceField期望将查询集作为其第一个参数(跟随自身)。您想要的是一个常规的MultipleChoiceField。

我还把args / kwargs传递给超类init,这是一个好习惯,因为表单可能需要很多有用的参数,例如“ initial”,您可能要花一些时间,然后再使用当它不起作用时,让您发疯...

class AddNoteForm(forms.Form):
    def __init__(self, test_values, *args, **kwargs):
        self.custom_choices = test_values
        super(AddNoteForm, self).__init__(*args, **kwargs)
        self.fields['choices'] = forms.MultipleChoiceField(
          label='Test Choices',
          choices=self.custom_choices
        )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在自定义 python 日志记录类中将变量动态传递给类 __init__ 方法

在迭代查询集中将参数传递给对象模型类的__init__

为什么python的异常repr会跟踪传递给__init__的对象?

在Python中,更改作为输入传递给__init__的类实例的属性。

我如何将可选参数传递给python类中的__init__函数

如何将参数传递给类中的__init__

将元组传递给Python函数

Pytorch 模块:为什么我们在 __init__ 方法中将类和对象传递给父类初始化程序?

在字符串中将元组和其他字符串传递给Python中的.format时遇到麻烦

在Tkinter Python中将参数传递给函数

在Python中将属性名称传递给函数

在python脚本中将多行传递给程序

在piplines __init__ scrapy中为python传递抓取的数据

无法将猪元组传递给python UDF

如何从Python将元组传递给Matlab函数

DJango REST框架-如何将参数传递给序列化器__init__

我在实例化__init__时传递给类的参数/参数被忽略

将实例传递给__init__。这是一个好主意吗?

是否将参数副本或参数本身传递给__init__中的函数?

将辅助变量传递给数据类__init__而不分配它们

将字典传递给__init__函数并稍后尝试访问它会产生错误,为什么?

当没有__init__方法时,为什么此代码将参数传递给构造函数?

如何将__init__参数传递给使用qmlRegisterType注册的类?

Python覆盖__init__

Python重载__init__

Python - __init__ 参数

在Python中将评估表达式传递给递归的问题

在Azure Devops中将参数传递给python脚本

如何在python中将参数传递给mapper函数?