0

如何在 ModelForm 中提供初始值的问题得到了很好的回答: Overriding initial value in ModelForm

但是在模型创建后我如何填充一个值呢?或者我将如何更正此代码?

class Entry_form(forms.ModelForm):
    class Meta:
        model = models.Entry
        exclude = ('')

def entry_add(request, pk):
    form = Entry_form
    selected_text = request.GET.get('selected_text', '')
    form.fields['title'].initial = 'Test: ' + selected_text
    return render(request, 'entry_add,{'form': form})
4

1 回答 1

0

您的代码中有一些错误。

  1. 删除行:

    exclude = ('')

    ('')是一个空字符串,而不是一个空元组。

  2. form = Entry_form应该form = Entry_form()

  3. return render(request, 'entry_add,{'form': form})- 缺少结束语。

该行:

form.fields['title'].initial = 'Test: ' + selected_text

是正确的,应该工作。

另一种方法是:

form.initial['title'] = 'Test: ' + selected_text
于 2012-08-21T09:46:43.160 回答