Вероятно, было бы немного проще найти подходящий способ сделать это, если бы у вас было то, что вы использовали для соответствующего Models
.
Я предполагаю что-то вроде следующего, основанногов спецификации, которую вы упомянули, работая с:
class Route(models.Model):
#bunch of stuff
pass
class Stop(models.Model):
#bunch of stuff
stop_times = models.ManyToManyField(through=StopTime)
class StopTime(models.Model):
trip = models.ForeignKey(Trip)
stop = models.ForeignKey(Stop)
# bunch of additional meta about this M2M table
pass
class Trip(models.Model):
route = models.ForeignKey(Route)
# bunch of stuff
Если это так ... вы должны иметь возможность сделать что-то вроде
Route.objects.filter(trip__stop__id=my_stop_id)
, чтобы получить все Route
объекты, которые идутчерез данный Stop
с первичным ключом id
, равным my_stop_id
, который, как я предполагаю, является целым числом согласно вашему сообщению.
Я извиняюсь, если синтаксис немного отключен, так как яне нужно было делать отношения «многие ко многим», используя явную дополнительную таблицу.Некоторая корректировка может также потребоваться, если вам нужно (или вы захотите) использовать параметр related_name
для любых внешних ключей или поля «многие ко многим».