とにかく本当に解決できない問題があります。
私が望むのは、api/epg から、現在と 2 時間後の範囲に番組があるチャンネルを取得することだけです。どういうわけか、時間範囲内のものではなく、すべての番組ですべてのチャンネルを取得します。
私は何を間違っていますか?
ありがとう
models.py
class Channels(models.Model):
sort_order = models.IntegerField()
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class Events(models.Model):
event_id = models.CharField(max_length=200, primary_key=True)
channel = models.ForeignKey('Channels', related_name='events')
start_time = models.DateTimeField( blank=True, null = True)
end_time = models.DateTimeField( blank=True, null = True)
def __unicode__(self):
return self.title
api.py
class EPGResource(ModelResource):
events= fields.ToManyField('xyz.api.EventResource','events', full=True)
class Meta:
now = datetime.now()
later = now + timedelta(hours=2)
queryset = Channels.objects.filter(events__start_time__range(now,later)).order_by('sort_order')
resource_name = 'epg'
filtering = {
"start_time" : ['exact', 'range'],
"name" : ['exact', 'range'],
"events" : ['exact', 'range'],
"channels": ALL_WITH_RELATIONS,
}
class EventResource(ModelResource):
class Meta:
queryset = Events.objects.all()
resource_name = 'events'
filtering = {
"start_time" : ['exact', 'range'],
"genre" : ['exact', 'range'],
"channel": ALL_WITH_RELATIONS,
}