我的目的是在管理员站点上看到用户名,电子邮件和电话号码。Django AdminModel的用户模型字段
我已经通过扩展用户模型创建用户配置:
model.py
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
name = models.CharField(max_length=50, null=True,blank=True)
address = models.CharField(max_length=50, null=True,blank=True)
phone = models.CharField(max_length=20, null=True,blank=True)
country = models.CharField(max_length=20, null=True,blank=True)
state = models.CharField(max_length=20, null=True,blank=True)
zip = models.CharField(max_length=10, null=True,blank=True)
code = models.CharField(max_length=40, null=True)
def user_email(self):
return self.user.email
admin.py
from myApp.models import UserProfile
from django.contrib import admin
class UserProfileAdmin(admin.ModelAdmin):
fields = ('name','phone',)
list_display = ('name','user_email',)
admin.site.register(UserProfile, UserProfileAdmin)
等它的工作list_display,我只能看到我选择的列,但是当我尝试去管理站点时将'user_email'(fields =('name','user_email','phone',))添加到字段中:
'UserProfileAdmin.fields'引用表单中缺少的字段'user_email'。
我正要回答同样的事情,这里是2010年的一篇文章(保佑谷歌):http://blog.timc3.com/2010/02/18/extending-djangos-user-admin/ – 2011-06-01 07:00:55
好的,谢谢所有的答案,但这不是我想要做的。我不试图替换Django adminUser我试图离开Django用户模型是这样的,我想在我的项目中有另一种用户类型,在未来可能会登录到系统,但现在我只想采取细节并发给他电子邮件,通讯等。 – user625135 2011-06-02 11:43:48