【发布时间】:2020-08-02 15:23:53
【问题描述】:
所以我有这个模型
from django.db import models
from django.conf import settings
# Create your models here.
class ProfileImage(models.Model):
user = models.OneToOneField(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
editable=False
)
avatar = models.ImageField()
def user_avatar(self):
return self.profileimage.avatar
还有我的 admin.py
from django.contrib import admin
# Register your models here.
from django.contrib.auth.admin import UserAdmin
UserAdmin.fieldsets += ('Custom fields set', {'fields': ('avatar',)}),
我正在使用 User 模型,并向其中添加了一个图像字段,但我想在管理页面中查看图像字段,因此在 admin.py 中执行了该操作,但是当我进入用户管理员时出现此错误:
Unknown field(s) (avatar) specified for User. Check fields/fieldsets/exclude attributes of class UserAdmin.
【问题讨论】:
-
头像是在 ProfileImage 模型下声明的,而不是 User
-
@Ceetified_karma,那么我该如何为用户定义头像?,你能发布答案吗?
-
@Ceetified_karma 所以我只需要创建一个类似“def user_email(self): return self.user.email”的方法,而不是返回电子邮件,而是头像?
标签: django django-models django-admin