【发布时间】:2011-11-22 17:24:26
【问题描述】:
如何将字段的初始值传递给模型表单。我有类似下面的代码
class ScreeningForm(forms.ModelForm):
class Meta:
model = Screening
def __init__(self, *args, **kwargs):
super(ScreeningForm, self).__init__(*args, **kwargs)
self.fields['blood_screen_type'] = CommaSeparatedCharField(
label=self.fields['blood_screen_type'].label,
initial=self.fields['blood_screen_type'].initial,
required=False,
widget=CommaSeparatedSelectMultiple(choices=BLOOD_SCREEN_TYPE_CHOICES)
)
class ScreeningAdmin(admin.ModelAdmin):
#form = ScreeningForm
form = ScreeningForm(initial={'log_user':get_current_user()})
现在我想为 Person 类的一个字段传递一个初始值。我该怎么做?
【问题讨论】:
-
您无法在管理员中实例化表单。
form =部分必须是表单类而不是表单对象。 -
但您可以将表单包装在工厂中
-
get_current_user() 从何而来?我不知道这个功能,在文档中找不到。
标签: django django-admin