1
def avail_times(request, club_id):
    club = get_object_or_404(Club,pk=club_id)
    open_slots = Opening.objects.filter(club_id=club_id, day=datetime.date.today(), reservation ='Open')
    return render_to_response('reserve/templates/avail_times.html', {'club':club, 'open_slots':open_slots})


<ul>
{% for slot in open_slots %}
    <li> {{slot }} on Court {{slot.court}} </li>
{% endfor %}
</ul>


from django.db import models
import datetime

class Club(models.Model):
    establishment = models.CharField(max_length=200)
    address = models.CharField(max_length=200)
    def __unicode__(self):
        return self.establishment

class Day(models.Model):
    club = models.ForeignKey(Club)
    day = models.DateField('day')
    def __unicode__(self):
        return unicode(self.day)

class Court(models.Model):
    club = models.ForeignKey(Club)
    day = models.ForeignKey(Day)
    court = models.IntegerField(max_length=200)
    def __unicode__(self):
        return unicode(self.court)

class Opening(models.Model):
    club = models.ForeignKey(Club)
    day = models.DateField('date')
    court = models.ForeignKey(Court)
    slot = models.TimeField('slot')
    reservation = models.CharField(max_length=200)
    def __unicode__(self):
        return unicode(self.slot)

上記のテンプレートでは、個別の「スロット」時間のみを表示したいと思います。そのため、「コート 1」と「コート 2」の両方で午前 6 時が発生した場合でも、テンプレートを介して 1 回だけ表示されるようにしたいと考えています。どうすればいいですか?

4

1 に答える 1

6

組み込みregroupフィルターはまさにこれを行います。

于 2012-05-22T05:57:19.443 に答える