I have a venue, this venue has many events happening there. My models look like this:
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)
I'd like to display all the events that are happening at a certain venue. How can I do that? My current view looks like:
def detail(request, venue_id): venue = get_object_or_404(Venue, pk=venue_id) return render(request, 'venue-detail.html', {'venue': venue})
You can use events = venue.event_set
to go the other way.
Note that venue.event_set
is a manager object, like Event.objects
, so you can call .all
, .filter
, .exclude
and similar on it to get a queryset.
See the Django documentation
To those who have "'RelatedManager' object is not iterable"
Add all to retrieve the elements from the manager.
{% for area in world_areas.all %}
https://stackoverflow.com/a/16909142/2491526 (cannot add this in comment to the first answer)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With