반응형
외래 키의 장고 역방향 조회
나는 장소가 있고,이 장소는 거기에서 일어나는 많은 이벤트가있다. 내 모델은 다음과 같습니다.
class Event(models.Model):
title = models.CharField(max_length=200)
date_published = models.DateTimeField('published date',default=datetime.now, blank=True)
date_start = models.DateTimeField('start date')
date_end = models.DateTimeField('end date')
def __unicode__(self):
return self.title
description = models.TextField()
price = models.IntegerField(null=True, blank=True)
venue = models.ForeignKey(Venue)
class Venue(models.Model):
title = models.CharField(max_length=200)
date_published = models.DateTimeField('published date',default=datetime.now, blank=True)
venue_latitude = models.CharField(max_length=200)
venue_longitude = models.CharField(max_length=200)
venue_address = models.CharField(max_length=200)
venue_city = models.CharField(max_length=200)
venue_state = models.CharField(max_length=200)
venue_country = models.CharField(max_length=200)
description = models.TextField()
def __unicode__(self):
return u'%s' % (self.title)
특정 장소에서 진행되는 모든 이벤트를 표시하고 싶습니다. 어떻게 할 수 있습니까? 내 현재보기는 다음과 같습니다.
def detail(request, venue_id):
venue = get_object_or_404(Venue, pk=venue_id)
return render(request, 'venue-detail.html', {'venue': venue})
events = venue.event_set
다른 길로가는 데 사용할 수 있습니다.
참고 항목 장고 문서를
" 'RelatedManager'개체는 반복 할 수 없습니다."
관리자에서 요소를 검색하려면 모두 추가하십시오.
{% for area in world_areas.all %}
https://stackoverflow.com/a/16909142/2491526 (첫 번째 답변에 댓글에 추가 할 수 없음)
반대 방향으로 가십시오. Event
모델을 사용하십시오 .
def detail(request, venue_id):
venue = Event.objects.filter(venue__id=venue_id)
return render(request, 'venue-detail.html', {'venue': venue})
PS : 저는 get_object_or_404()
. 그에 따라 코드를 수정하십시오.
참조 URL : https://stackoverflow.com/questions/15306897/django-reverse-lookup-of-foreign-keys
반응형
'programing' 카테고리의 다른 글
__init__를 호출하지 않고 클래스를 인스턴스화하는 방법이 있습니까? (0) | 2020.12.24 |
---|---|
클래스를 선언하지 않고 객체를 생성 할 수 있습니까? (0) | 2020.12.24 |
Python에서 XSLT를 사용하여 XML 파일을 변환하는 방법은 무엇입니까? (0) | 2020.12.24 |
Google지도 반응 형 크기 조정 (0) | 2020.12.24 |
앱이 실행되고 있지 않을 때 iBeacon 알림 (0) | 2020.12.24 |