5
我目前正在用Django创建一个站点,并且我用用户配置文件扩展了用户。虽然我有一个小问题。这是我的情况:
- 我扩展了用户配置文件以添加自定义字段。
- 我将模型添加到用户管理模型中,所以当我添加用户时,我可以直接填写字段以创建配置文件。
- 现在,如果我不在这些新的自定义用户字段中添加ANYING,在用户添加页面中,Django Admin不会给我一个错误,说这些字段为空(并且它们不是假设的)
- 我希望它在此用户添加管理页面中引发错误,以便管理员在添加新用户时必须填写配置文件。
- 所有用户都将被添加到管理面板中。
这可能吗?非常感谢!
在admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
from django.contrib.auth.models import User
from accounts.models import UserProfile
class UserProfileInline(admin.TabularInline):
model = UserProfile
class UserAdmin(DjangoUserAdmin):
inlines = [ UserProfileInline,]
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
在model.py
class UserProfile(models.Model):
user = models.OneToOneField(User)
employee_number = models.PositiveIntegerField(unique=True)
def __unicode__(self):
return 'Number'
不错,它的工作!你介意多说一些代码吗?尤其是类Meta:部分!谢谢队友 – abisson 2012-04-19 02:59:09
另外,如果我只想让其中一个字段为empty_permitted = false,那么语法是什么?其余的都是真的? – abisson 2012-04-19 03:42:34
@abisson'empty_permitted'是'BaseForm'接受的未公开的参数:当提交的表单没有从其初始数据改变,并且它的'empty_permitted'是'True',表单的'full_clean()'不会执行任何进一步验证。你可以在'django/forms/forms.py'和'django/forms/formsets.py'中检查'empty_permitted'。如果你想让其中一个字段不为空,你可以尝试为表单设置'empty_permitted = True',为其他字段设置'blank = True'。 – okm 2012-04-19 04:17:26