私は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)