1

私はdjangoアプリケーション用のREST APIを取得するためにtastypieを使用しています。私のモデルには、駅 (例: 鉄道駅)、ルート (例: シカゴからセントルイス)、および多対多関係の中間モデルである routedetail (例: RouteDetail(station="Springfield-IL", route="CHI-STL)) が含まれます。 "、arrival_time=4.00pm、depart_time=4:05pm)

class Station(models.Model):
  name = models.CharField(max_length=10, unique=True)

class Route(models.Model):
  name = models.CharField(max_length=10, unique=True)
  stations = models.ManyToManyField(Station, through='RouteDetail')

class RouteDetail(models.Model):
  station = models.ForeignKey(Station)
  route = models.ForeignKey(Route)
  arrival_time = models.TimeField(blank=True, null=True)
  depart_time = models.TimeField(blank=True, null=True)

私の質問は、イリノイ州リンカーンからミズーリ州セントルイスまでのすべてのルートを照会するにはどうすればよいですか? 今、私はtastypieでこのようなことをしましたが、これは機能しますが、1つのクエリでそれを行う方法はありますか?

from_station = request.GET.get('from', None)
to_station = request.GET.get('to', None)
semi_filtered = super(RouteResource, self).apply_filters(request, applicable_filters)
return semi_filtered.filter(stations__name=from_station).filter(stations__name=to_station)
4

1 に答える 1