2013-04-05 3 views
3

위치의 최신 점수를 표시하려고합니다. 나는 2 개 테이블 (장고 모델) 내 DB에서 지금django 관련 관리자 - 템플릿에

Class Location(models.Model): 
    locationname = models.CharField() 
    ... 

Class Rating(models.Model): 
    von_location = models.ForeignKey(Location,related_name="locations_rate") 
    rating = models.IntegerField() 

, 하나 개의 위치 (ID = 1) (1,2,4)를 3 개 등급을 가지고 있습니다.

위치에 대한 등급에 최신 기록을 표시하려고합니다. 어떻게하면 관련 Manager를 사용하여 템플릿에서이 작업을 수행 할 수 있습니까?

내 비전은 다음과 같습니다

all_locs = Location.objects.all() 

다음 템플릿 :

{% for location in all_locs %} 
    {{ location.locations_rate.latest }} 
{% endfor %} 

은 사물의 종류를 할 relatedmanager 수 있습니까?

+0

단지에 매개 변수로 전달 렌더링 템플릿 함수? –

+1

답변 : http://stackoverflow.com/questions/15824934/last-record-in-django-models-database – catherine

답변

5

다른 관련 질문에 내 대답 :

models.py

class Location(models.Model): 
    locationname = models.CharField(max_length=100) 

    def __unicode__(self): 
     return self.locationname 

    def latest(self): 
     return Rating.objects.values('rating').filter(von_location=self).order_by('-id')[0] 

class Rating(models.Model): 
    von_location = models.ForeignKey(Location,related_name="locations_rate") 
    rating = models.IntegerField() 

    def __unicode__(self): 
     return "{0}".format(self.rating) 

views.py

all_locs = Location.objects.all() 

템플릿이

{% for location in all_locs %} 
    {{ location.locationname }} - {{ location.latest.rating }}<br/> 
{% endfor %}