I have some fields that do not need to be displayed to the user, but need to be editable by the administrator in the admin panel. The solution provided by Manoj Govindan here only displays the field in admin, but after saving and returning to the form in admin, the fields are unset again. I am using django 1.6.5
my models.py
class Profile(models.Model):
user = models.OneToOneField(User)
picture1 = ImageWithThumbsField(_("Photo1"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture1_confirm = models.NullBooleanField(null=True, editable=False)
picture2 = ImageWithThumbsField(_("Photo2"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture2_confirm = models.NullBooleanField(null=True, editable=False)
picture3 = ImageWithThumbsField(_("Photo3"), upload_to="photos", null=True,
blank=True, sizes=((150, 225),))
picture3_confirm = models.NullBooleanField(null=True, editable=False)
and admin.py
class CustomProfileForm(forms.ModelForm):
picture1_confirm = forms.BooleanField(required=False)
picture2_confirm = forms.BooleanField(required=False)
picture3_confirm = forms.BooleanField(required=False)
class Meta:
model = Profile
fields = ('picture1', 'picture1_confirm', 'picture2', 'picture2_confirm',
'picture3', 'picture3_confirm',)
class ProfileAdmin(admin.ModelAdmin):
form = CustomProfileForm
admin.site.register(Profile, ProfileAdmin)