64👍
The error is due to date having auto_now_add=True
(or auto_now=True
).
As the value is automatic, it’s not editable, so it’s not in the form. To solve that, add this in FooAdmin
:
readonly_fields = ("date",)
7👍
My problem was actually a bit different. My problem involved model inheritence and the django.contrib.admin User model.
This caused the problem:
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.admin import UserAdmin
class AdminUser (UserAdmin):
fieldsets = UserAdmin.fieldsets + (
(_('APPS Info'), {'fields': ('agency', 'company')}),
)
where “agency” and “company” are fields of my User model that extends django’s user model. Your solution of putting those fields in readonly_fields did fix the error, but then those fields were read only, which isn’t what I wanted. I found that the problem was that the ModelForm used in django.contrib.admin was setting the model to Django’s user model. So to fix it I added this:
from django.contrib.auth.admin import UserAdmin, UserChangeForm as DjangoUserChangeForm
from django.utils.translation import ugettext_lazy as _
from apps_models.users.models import User
class UserChangeForm(DjangoUserChangeForm):
class Meta:
model = User
class AdminUser (UserAdmin):
fieldsets = UserAdmin.fieldsets + (
(_('APPS Info'), {'fields': ('agency', 'company')}),
)
form = UserChangeForm
That’s what I get for using Model inheritance… it isn’t pretty, but it got the job done.
So it sounds like we were getting the same error, but for different reasons.
- [Django]-403 Forbidden error with Django and mod_wsgi
- [Django]-Displaying a Table in Django from Database
- [Django]-"Disabled" option for choiceField – Django
3👍
It may also help some people to know the error also appears when there are incorrect fieldsets in the ModelAdmin, …as when doing migrations and forgetting to delete removed fields….
- [Django]-Django Rest JWT login using username or email?
- [Django]-Best practice for storing auth tokens in VueJS?
- [Django]-Django unit tests without a db