programing

외래 키의 장고 역방향 조회

nasanasas 2020. 12. 24. 23:49
반응형

외래 키의 장고 역방향 조회


나는 장소가 있고,이 장소는 거기에서 일어나는 많은 이벤트가있다. 내 모델은 다음과 같습니다.

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

반응형