我正在使用tastepie 为我的django 应用程序获取REST API。我的模型包括车站(例如火车站)、路线(例如芝加哥到圣路易斯)和 routedetail,它是多对多关系的中间模型,例如 RouteDetail(station="Springfield-IL", route="CHI-STL ",到达时间=下午 4 点,出发时间=下午 4 点 05 分)
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)
我的问题是如何查询从伊利诺伊州林肯到密苏里州圣路易斯的所有路线?现在我在tastepie中做了这样的事情,这很有效,但是有没有办法在一个查询中做到这一点?
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)