Python 扩展Django用户模型并添加到管理列表显示
我试图用一个配置文件扩展我的用户模型,然后将新的配置文件字段添加到用户列表显示中,以便可以进行搜索。在将其添加到管理员列表显示之前,一切正常 我一直收到这个错误Python 扩展Django用户模型并添加到管理列表显示,python,django,django-admin,django-userena,Python,Django,Django Admin,Django Userena,我试图用一个配置文件扩展我的用户模型,然后将新的配置文件字段添加到用户列表显示中,以便可以进行搜索。在将其添加到管理员列表显示之前,一切正常 我一直收到这个错误“User”对象没有属性“MyProfile” models.py from django.db import models # Create your models here. from django.contrib.auth.models import User from django.utils.translation impor
“User”对象没有属性“MyProfile”
models.py
from django.db import models
# Create your models here.
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from userena.models import UserenaBaseProfile
class MyProfile(UserenaBaseProfile):
user = models.OneToOneField(User,
unique=True,
verbose_name=_('user'),
related_name='my_profile')
dealer_num = models.CharField(blank=True,
max_length=15,
verbose_name="Dealer Number")
管理员
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from .models import MyProfile
class ProfileInline(admin.StackedInline):
model = MyProfile
can_delete = False
verbose_name_plural = 'Profile'
fk_name = 'user'
fields = ('user', 'dealer_num')
class UserAdmin(UserAdmin):
inlines = (ProfileInline, )
list_display = ('username', 'get_dealer_num')
def get_inline_instances(self, request, obj=None):
if not obj:
return list()
return super(UserAdmin, self).get_inline_instances(request, obj)
def get_dealer_num(self, obj):
return obj.MyProfile.dealer_num
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
试试这个:
def get_dealer_num(self, obj):
return MyProfile.objects.get(user=obj).dealer_num
试试这个:
def get_dealer_num(self, obj):
return MyProfile.objects.get(user=obj).dealer_num
英雄联盟谢谢当我开始思考这个问题时,我意识到我并没有回到个人资料中。。。。谢谢当我开始思考这个问题时,我意识到我并没有回到个人资料上来