0
デフォルトのユーザーモデルへのアクセスを妨げるものはありますか?テンプレートの外部キーモデルの値
モデル:
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"
}
テンプレート。私は上記のようにChartモデルから外部キーとして参照されるUserモデルから 'email'を取得したいと思います。ここには他の多くの人たちからの最新の試みがあります。それは何も生成しないと私は正しい構文を見つけることができません
{% 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 %}
ありがとう。外部キーフィールド名である 'author_id'を使用して{{chart.author_id.email}}を試しましたが、チャートインスタンスからユーザフィールドに直接アクセスできるとは想像もしませんでした。 –
なぜですか?その名前のフィールドを明示的に定義しました。 –