이 모델을 고려하십시오. Exercise
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)
)
이제 Exercise
(있는 경우) 앞에서 현재 사용자의 Score
을 표시하여 템플릿에서 액세스 할 수 있습니다. 이런 식으로 :
<li>{{ exo }} - {{ exo.user_score }}</li>
Working fine, thanks –
왜'User.score_set.all()'인가? 그 대신에 사용자 인스턴스 여야한다고 생각합니다. –
예, 미안 해요, 'request.user ...'- 변경되었습니다. –