是否有任何阻止访问默认用户模型的内容?
型号:
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 %}
它什么都不产生,我找不到正确的语法。
答案 0 :(得分:0)
你的关系与你的想法完全相反。它从图表到用户;也就是说,每个图表都有一个作者,您可以通过字段名称而不是反向关系来访问它。
用简单的查找替换你的for循环:
Email: {{ chart.author.email }}