考慮這種模式Django的 - 從視圖對象準備爲當前用戶
class Exercise(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
class Score(models.Model):
"""Scores of users by exercise"""
exo = models.ForeignKey(Exercise)
user = models.ForeignKey(User)
score = models.IntegerField()
class Meta:
unique_together = (('exo', 'user',),)
我有顯示Exercise
個模板。
<ul>
{% for exo in exos %}
<li>{{ exo }}</li>
{% endfor %}
</ul>
這裏是爲了從模板訪問它的視圖
def view_exos(request):
"""Lists Exercises"""
objs = {
'exos': Exercise.objects.all(),
}
return render_to_response('content/contents.html', objs
, context_instance=RequestContext(request)
)
現在我想顯示當前用戶的Score
在每個Exercise
的前面(如果有一個)以這種方式:
<li>{{ exo }} - {{ exo.user_score }}</li>
工作正常,謝謝 –
爲什麼'User.score_set.all()'?我認爲這應該是一個用戶實例。 –
是的,對不起,意思是'request.user ...' - 改變了。 –