我的站点利用Django的用户身份验证用户模型和自定义的UserProfile模型来存储一些额外的数据(生日等).有没有办法在Django admin中创建一个视图,将来自User和UserProfile模型的字段编织在一起?

我怀疑这段代码甚至还不够接近,但它可能有助于说明我正在try 做的事情:

from django.contrib import admin
from django.contrib.auth.models import User
from userprofile.models import UserProfile


class UserProfileAdmin(admin.ModelAdmin):
    list_display = ('name', 'gender', 'User.email') #user.email creates the error - tried some variations here, but no luck.

admin.site.register(UserProfile, UserProfileAdmin)

错误消息:

配置不当:UserProfileAdmin.列表显示[2],"用户"."邮箱"不是可调用的或"UserProfileAdmin"的属性,也不是在模型"UserProfile"中找到的.

最终,我try 创建一个管理视图,该视图具有来自UserProfile的名字和来自UserProfile的邮箱(&last name from UserProfile).

推荐答案

要显示用户邮箱,您需要在UserProfileUserProfileAdmin上有一个返回邮箱的方法

在UserProfile上

def user_email(self):
    return self.user.email

or 在UserProfile上Admin

def user_email(self, instance):
    return instance.user.email

那就把你的list_display改成

list_display = ('name', 'gender', 'user_email')

相关文件:ModelAdmin.list_display

Django相关问答推荐

如何在Django中将字段及其数据从一个模型添加到另一个模型?

Django 按月分组并按月显示在模板中

Django AWS S3对象存储boto3媒体上传报错

Django 转储数据将附加数据添加到 json 导出

Django 表单有 Select 但也有自由文本选项?

ModelForm 的 Django TextField max_length 验证

Django-Registration:邮箱作为用户名

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

Django REST Framework - 将额外参数传递给操作

用于测试文件下载的 Django 单元测试

如何在 django 中生成 url

通过 django shell 保存图像/文件

如何使用 select_for_update 在 Django 中获取查询?

如何在 twitter-bootstrap 模式窗口中插入 django 表单?

Django 不调用模型清理方法

Django表单集:首先需要?

Django ALLOWED_HOSTS IP 范围

在 Mac OS X 上安装支持 JPEG 的 PIL

运行单元测试时禁用 Django South?

在 Python 中生成 API KEY 和 SECRET 的最简单和最安全的方法是什么