Во-первых, вы используете сквозную модель? Вы прошли через там, но у вас нет этого в списке. Если это не так, вам это не нужно.
Я бы добавил related_name, например, так:
class Trip(models.Model):
members = models.ManyToManyField(User,blank=True,null=True, related_name='user_trips')
Тогда вы сможете звонить:
user.user_trips.all()
Я назвал его «user_trips», а не «trips», потому что если это не уникальное имя, это может вызвать конфликты.
Если вы используете сквозную модель, она будет выглядеть примерно так:
#User is defined in django.auth
class Trip(models.Model):
members = models.ManyToManyField(User,blank=True,null=True, related_name='user_trips', through='TripReservation')
class TripReservation(models.Model):
user = models.ForeignKey(User)
trip = models.ForeignKey(Trip)
registered = models.DateField()
Следует понимать, что в этом случае TripReservation относится к конкретному бронированию пользователей в Trip, а не ко всей поездке, и информация о Trip должна быть указана в самой модели Trip. Итак, TripReservation.registered - это когда этот конкретный пользователь зарегистрировался для поездки.
Поиск пользовательских команд будет таким же:
user.user_trips.all()