Моя проблема была немного другой. Моя проблема заключалась в наследовании модели и модели пользователя django.contrib.admin.
Это вызвало проблему:
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')}),
)
где "agency" и "company" - это поля моей пользовательской модели, которая расширяет пользовательскую модель django. Ваше решение поместить эти поля в readonly_fields исправило ошибку, но тогда эти поля были доступны только для чтения, а это не то, что я хотел. Я обнаружил, что проблема заключалась в том, что ModelForm, используемый в django.contrib.admin, устанавливал модель в соответствии с пользовательской моделью Django. Чтобы исправить это, я добавил это:
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
Это то, что я получаю за использование наследования модели ... это не красиво, но оно выполнило свою работу.
Похоже, мы получили ту же ошибку, но по разным причинам.