无法显示一对一关系中的数据,仅从一个模型渲染

2024-10-03 21:34:55 发布

您现在位置:Python中文网/ 问答频道 /正文

使用django auth用户模型 我的个人资料模型是这样的:

// models.py
from django.db import models
from django.contrib.auth.models import User

class PROFILE(models.Model):
    userID = models.OneToOneField(
        User,
        on_delete=models.CASCADE,
        primary_key=True
    )
    idCity_FK = models.ForeignKey(CITY)

和我的视图以显示有关当前用户的信息:

//views.py
class ViewProfile_vw(DetailView):
    template_name = 'profile.html'

    def get_object(self):
        currentUser = self.request.user
        return get_object_or_404(PROFILE, userID=currentUser.id)

以及我的html文件来呈现两个模型中的字段:

//profile.html
<h1>Hello {{ object.email }}</h1>
<p>City:{{ object.idCity_FK }}</p>

我的浏览器只显示城市名称,但不显示电子邮件。用户有一封电子邮件,并且“一对一”字段的id相同

如何显示用户模型中的数据


Tags: django用户frompy模型importauthobject
1条回答
网友
1楼 · 发布于 2024-10-03 21:34:55

这是因为您没有电子邮件字段。如果您使用的是Django的auth,那么DjangoUser有电子邮件,因此您可以通过object.userID.email访问它

注意,在字段名中包含ID不是一个好主意,因为它不是ID,而是一个对象关系

相关问题 更多 >