Многие атрибуты в manyTomanyField не имеют атрибута .all() |Help needed Beginner|

Я создал модель с именем Flight, которая связана с другой моделью с именем Passengers

flights = models.ManyToManyField(Flight, blank=True, related_name="passengers")

я попытался использовать Passengers = Flight.Passengers.all() он выдает ошибку, говоря, что

Traceback (most recent call last): File "<console>", line 1, in <module> AttributeError: 'ManyToManyDescriptor' object has no attribute 'all'

нужна помощь!

я хочу, чтобы в моем html были только реализованные поля из рейса и пассажиров, но он выдает ошибку при попытке доступа с помощью Flight.Passengers.all() и Flight.Passengers.get()

можно обойти с помощью Passengers.objects.all(), но мне это не нужно, иначе не будет связи между моими базами данных!

Это имеет смысл, related_name работает с Flight объектом, а не с Flight классом, что бы это вообще значило?

Таким образом, вы получаете объект Flight:

my_flight = Flight.objects.get(pk=1)  # Flight object with pk=1

и затем вы получаете пассажиров my_flight с:

my_flight.passengers.all()

Это не работает с Flight классом, единственным разумным ответом для этого было бы возвращение всех Passenger, у которых есть хотя бы один рейс. Это можно сделать с помощью:

# Passengers linked to at least one Flight
Passenger.objects.filter(flights__isnull=False).distinct()
Вернуться на верх