模板中的外键模型值

时间:2016-12-21 17:05:18

标签: django

是否有任何阻止访问默认用户模型的内容?

型号:

class Chart( models.Model ):
    title = models.CharField( max_length = 255 )
    author = models.ForeignKey( User, related_name = 'the_author' )
    created_at = models.DateTimeField( auto_now = False, auto_now_add = True )
    updated_at = models.DateTimeField( auto_now = True, auto_now_add = False )

    def __str__( self ):
        return self.title

另一个型号是来自djangoALLauth的用户。我没有创建这个模型,但是有一封电子邮件'我想访问的字段。

构建模板的视图:

def home( request ):
    """Home page handling"""

    most_favorited_charts = Chart.objects.order_by( '-favorites_count' )[ :10 ]
    newest_charts = Chart.objects.order_by( '-created_at' )[ :10 ]

    context = {
        "js_dow_data" : jsdow_data( ),
        "most_favorited_charts": most_favorited_charts,
        "newest_charts": newest_charts,
        "submit_value": "Save"
    }

模板。我想收到电子邮件'来自User模型,它从Chart模型中引用为外键,如上所示。这是许多其他人的最新尝试。请参阅我尝试制作的块'电子邮件:"含量:

 {% for chart in most_favorited_charts %}
                        <div class="user-charts-links-div"><a class="chart-title" href="#">{{ chart.title }}</a>

                            {% for author in chart.the_author.all %}
                                Email: {{ author.the_author.email }}<br>
                            {% endfor %}


                            </div>
                        </div>
                    {% endfor %}

它什么都不产生,我找不到正确的语法。

1 个答案:

答案 0 :(得分:0)

你的关系与你的想法完全相反。它从图表到用户;也就是说,每个图表都有一个作者,您可以通过字段名称而不是反向关系来访问它。

用简单的查找替换你的for循环:

Email: {{ chart.author.email }}