你可以在admin.py或单独的forms.py中添加ModelForm类,然后像往常一样在其中声明你的额外字段。我还给出了一个示例,说明如何在form.save()中使用这些值:
from django import formsfrom yourapp.models import YourModelclass YourModelForm(forms.ModelForm): extra_field = forms.CharField() def save(self, commit=True): extra_field = self.cleaned_data.get('extra_field', None) # ...do something with extra_field here... return super(YourModelForm, self).save(commit=commit) class meta: model = YourModel要使其他字段仅出现在管理员中:
- 编辑你的admin.py并设置form属性以引用你在上面创建的表单
- 将新字段包括在字段或字段集声明中
像这样:
class YourModelAdmin(admin.ModelAdmin): form = YourModelForm fieldsets = ( (None, { 'fields': ('name', 'description', 'extra_field',), }), )更新:在django 1.8中,你需要添加
fields = '__all__'到
YourModelForm的元类。



