Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加用户的相关对象,并在django admin的用户模型中显示它们_Django_Django Admin - Fatal编程技术网

添加用户的相关对象,并在django admin的用户模型中显示它们

添加用户的相关对象,并在django admin的用户模型中显示它们,django,django-admin,Django,Django Admin,我有两个模型项目和用户在项目中的用户是相关的如下所示 models.py: class project(models.Model): user=models.OneToOneField(User,on_delete=models.CASCADE) room = models.ForeignKey(room,on_delete=models.CASCADE) goal = models.ManyToManyField(goal) design = models.Ma

我有两个模型项目和用户在项目中的用户是相关的如下所示 models.py:

class project(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE)
    room = models.ForeignKey(room,on_delete=models.CASCADE)
    goal = models.ManyToManyField(goal)
    design = models.ManyToManyField(design)
    furniture = models.ForeignKey(furniture,on_delete=models.CASCADE)
    created_at = models.DateTimeField(default=datetime.now)
    updated_at = models.DateTimeField(default=datetime.now)
现在,我想在django admin的用户页面中为每个用户显示额外的列作为项目,当我单击该列时,它将进入该用户的特定项目详细信息页面 截图: 这是用户列表页面

这是项目列表页面

这是项目详细信息页面

admin.py:

from django.contrib import admin
from .models import project
class ProjectAdmin(admin.ModelAdmin):
    readonly_fields = ('user','room','goal','design','furniture','created_at','updated_at')

admin.site.register(project,ProjectAdmin)

请帮助我,提前谢谢

您需要为您的用户编写自定义管理员:

来自django.contrib导入管理
从django.contrib.auth导入get\u user\u模型
从django.contrib.auth.admin导入UserAdmin
从django.utils.safestring导入标记_safe
UserModel=get\u user\u model()
admin.site.unregister(UserModel)
@管理员注册(用户模型)
类CustomUserAdmin(UserAdmin):
列表显示=(
“用户名”、“电子邮件”、“名字”、“姓氏”、“用户项目”
)
def用户_项目(自身、obj):
url='/admin/modsy/project/{}/change/'.format(obj.project.pk)
返回标记_safe(“”.format(url))

AttributeError at/admin/auth/user/'user'对象没有属性'project'在admin中的用户页中获取此错误,您能否帮助在您的项目模型中向用户字段添加一个
related\u name
user=models.OneToOneField(user,related\u name='project',on\u delete=models.CASCADE)