当前位置: 首页 > 面试题库 >

在ModelForm中覆盖初始值

子车飞鹏
2023-03-14
问题内容

在我的Django(1.2)项目中,我想以模型形式预填充字段,但是新值将被忽略。这是代码段:

class ArtefactForm(ModelForm):
    material = CharField(widget=AutoCompleteWidget('material', force_selection=False))

    def __init__(self, *args, **kwargs):
        super(ArtefactForm, self).__init__(*args, **kwargs)
        self.fields['material'].initial = 'Test'

我也尝试了使用self.base_fields,但没有效果:总是在表单中显示数据库值。有任何想法吗?


问题答案:

尝试这个:

def __init__(self, *args, **kwargs):
    initial = kwargs.get('initial', {})
    initial['material'] = 'Test'
    kwargs['initial'] = initial
    super(ArtefactForm, self).__init__(*args, **kwargs)


 类似资料:
  • 问题内容: 我无法覆盖ModelForm保存方法。这是我收到的错误: 我的意图是让表单为3个字段提交许多值,然后为这些字段的每个组合创建一个对象,并保存每个对象。朝正确的方向发展将是王牌。 File models.py File forms.py File admin.py 问题答案: 在你里面你必须有论点。如果有任何内容覆盖你的表单,或者想要修改其保存的内容,它将执行操作,修改输出,然后将其保存

  • 问题内容: 因此,我刚刚升级到Xcode 6.3 Beta 3,出现了许多与以下内容有关的错误: 初始化程序不会覆盖其父类中的指定初始化程序。 例如,这是一个类: 这是我的课程之一: 问题答案: 我的解决方案是一种快速解决方案,但我认为它比Apple在发行说明中的​​用途要容易。有关更多信息,请在此处搜索19775924 http://adcdownload.apple.com//Develope

  • 问题内容: 我正在使用基于类的通用视图,有人可以建议我如何设置初始值以更新表单吗? 我尝试使用get_initial()方法,但未成功。以下是我尝试的代码 问题答案: 您应该定义一个方法,该方法返回包含初始值的字典: 另外,您可以定义一个值:

  • 问题内容: 以下代码显示了Xcode 6.3 Beta 3中的生成 错误。该代码可在Xcode 6.2和Xcode 6.3 Beta 2中使用。 错误信息 初始化程序不会覆盖其父类中的指定初始化程序 解决方法? 有一种可能的解决方法,可以使用Beta 3发行说明中 提到的init方法创建协议。我不能让它工作都都和初始化。 我该如何解决这些构建错误? 问题答案: 子类的指定初始值设定项需要调用超类的

  • 在这个特定的示例中,我扩展了

  • 问题内容: 是否可以强制重命名os.rename覆盖另一个文件(如果已经存在)?例如,在下面的代码中,如果文件Tests.csv已经存在,则将其替换为Tests.txt文件(该文件也已重命名为Tests.csv)。 问题答案: 您可以尝试: 或然后: