我正在使用django及其内置的管理站点来处理我正在进行的项目。 (Python 3.4,django 1.7)
对于我正在处理的当前项目,我需要在创建对象后修复用户名。我做了一个小测试项目,它实际上包含一个应用程序,该app只包含这个admin.py:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class MyAdmin(UserAdmin):
def get_readonly_fields(self,request, obj=None):
ro_fields = list(super().get_readonly_fields(request, obj))
if obj is not None:
ro_fields.append('username')
return ro_fields
admin.site.unregister(User)
admin.site.register(User, MyAdmin)
正如预期的那样,用户名可以在“添加”页面中设置,并且在更改页面中是“只读”。但是,我无法保存在更改页面上时,我收到消息“请更正下面的错误”,但没有突出显示任何字段。任何人都可以建议一种解决这个问题的方法吗?
编辑:作为一个不同的选项,我试图用不允许输入的小部件替换用户名 - 没有运气