我有一个带有内联表单集的表单。我想做的是当用户登陆表单时,将他的用户信息(例如姓名)预填充到表单的内联之一中。为了能够将请求传递给内联。
我怎样才能做到这一点?
我在 Django 1.4 上使用django-extra-views 0.6
在views.py
我使用get_extra_form_kwargs
def 来设置我的 kwargs 时,如下所示:
class EventMemberInline(InlineFormSet):
model = EventMember
extra = 1
form_class = EventMemberForm
def get_formset_kwargs(self):
formset_kwargs = super(EventMemberInline, self).get_formset_kwargs()
formset_kwargs.update({'first_name':self.request.user.first_name, 'last_name':self.request.user.last_name})
return formset_kwargs
我这样做是为了能够将我的内联字段(初始值)绑定到我通过 kwargs 传递的内容(在这种情况下只是用户名和姓氏)
在forms.py
class EventMemberForm(ModelForm):
class Meta:
model = EventMember
def __init__(self, *args, **kwargs):
self.fields['first_name'].initial = kwargs['first_name']
self.fields['last_name'].initial = kwargs['last_name']
super(EventMemberForm, self).__init__(*args, **kwargs)
但我得到这个错误:
Exception Value:
__init__() got an unexpected keyword argument 'last_name'
我想要做的甚至可能吗?我可以设置内联的初始值吗?