2016-07-01 29 views
0

只呈現使用Django的權威性用戶模型 我的剖面模型是這樣的:無法顯示數據從一對一的關係,從一個模型

// 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相同。

如何顯示用戶模型中的數據?

+1

您是否嘗試過{{object.userID.email}}? –

回答

1

那是因爲您沒有電子郵件字段。如果您使用的是Django的身份驗證,那麼Django User確實有一封電子郵件,因此您可以通過object.userID.email訪問它。

請注意,在您的字段名稱中包含ID不是一個好主意,因爲它不是一個id,它是一個對象關係。

+1

它完美的作品! 其實我沒有在名稱中包含「id」,它只是我的代碼的一個例子,我試圖用最好的方式來解釋我的自我。但是你對它的對象關係的評論讓我更好地理解它。 – QUHO

相關問題