在django管理站点中只读用户名

时间:2014-10-09 10:30:55

标签: python django django-admin

我正在使用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)

正如预期的那样,用户名可以在“添加”页面中设置,并且在更改页面中是“只读”。但是,我无法保存在更改页面上时,我收到消息“请更正下面的错误”,但没有突出显示任何字段。任何人都可以建议一种解决这个问题的方法吗?

编辑:作为一个不同的选项,我试图用不允许输入的小部件替换用户名 - 没有运气

0 个答案:

没有答案