在django管理員,我有一個內聯,我想讓查看用戶自動填寫。在clean
函數中,它使用request.user
填充created_by
字段。問題是由於表格排除了created_by
字段,因此插入到cleaned_fields
中的值顯然會被忽略。我怎樣才能做到這一點?我希望小部件根本不顯示。排除一個表單域,但添加它乾淨()
class NoteInline(admin.TabularInline):
model = Note
extra = 1
can_delete = False
def get_formset(self, request, obj=None, **kwargs):
"""
Generate a form with the viewing CSA filled in automatically
"""
class NoteForm(forms.ModelForm):
def clean(self):
self.cleaned_data['created_by'] = request.user
return self.cleaned_data
class Meta:
exclude = ('created_by',)
model = Note
widgets = {'note': forms.TextInput(attrs={'style': "width:80%"})}
return forms.models.inlineformset_factory(UserProfile, Note,
extra=self.extra,
form=NoteForm,
can_delete=self.can_delete)
不會因爲這方面的工作:http://imgur.com/fbajE.png – priestc 2010-10-31 19:25:13
在這種情況下,它的時間爲一個重構。參見上面的編輯示例 – 2010-10-31 21:07:33