2017-09-27 9 views
0

{{ i.user }}の代わりに{{ i.user }}の値を一致値として別のテーブルの値にアクセスしたいとします。 HTMLの中にそれをやっする方法ここでDJangoのHTMLテンプレートからデータベースモデルにアクセス

{% for i in obj reversed %} 
<div class="container"> 
<blockquote> 
    <header> {{ i.topic }} {{ i.user }} </header> 
    <p> {{ i.desc }} </p> 
    <footer> {{ i.time }} </footer> 
</blockquote> 
{% endfor %} 
</div> 

は私のモデル

from django.db import models 

class Accounts(models.Model): 
    name=models.CharField(max_length=30) 
    phone=models.CharField(max_length=20,unique=True) 
    mail=models.EmailField() 
    password=models.CharField(max_length=20) 

    def __str__(self): 
     return self.name 

class BlogPost(models.Model): 
    user=models.CharField(max_length=30) 
    topic=models.CharField(max_length=100) 
    desc=models.CharField(max_length=1000) 
    likes=models.IntegerField(null=True,default=0) 
    time=models.DateTimeField(null=True) 

    def __str__(self): 
     return self.user 

があると私は...事前にテンプレートに

感謝をBlogspot.userすなわち{{ i.user }}を使用してAccountsから値を取得したい

+0

モデルを追加できますか? –

+0

質問に追加 –

+0

Inorderには、モデル間の関係が必要なようなものがあります。 ForeignKeyを使用します。あなたのユーザフィールドはアカウントにどのように関係していますか? –

答えて

1
from django.contrib.auth.models import AbstractBaseUser 

class Accounts(AbstractBaseUser): 

    name = models.CharField(max_length=30) 
    phone = models.CharField(max_length=20,unique=True) 
    mail = models.EmailField() 
    password = models.CharField(max_length=20) 

    def __str__(self): 
     return self.name 

class BlogPost(models.Model): 
    user = models.ForeignKey(Accounts, related_name='accounts') 
    topic = models.CharField(max_length=100) 
    desc = models.CharField(max_length=1000) 
    likes = models.IntegerField(null=True,default=0) 
    time = models.DateTimeField(null=True) 

    def __str__(self): 
     return self.user 

今、外来キーを使用してテンプレートのアカウントモデル属性にアクセスできます。

関連する問題