Cuando hace la ultima validación en el método validate el profe se equivoco puesto que si tuviste un ride en cualesquier circle y quieres tomar un ride nuevo en cualquier circle este te saldrá que ya estas en el viaje sin embargo no es cierto, aquí les dejo la solución:
def validate(self, data):
"""Verify rides allow new passengers."""
ride = self.context['ride']
if ride.departure_date <= timezone.now():
raise serializers.ValidationError("You can't join this ride now")
if ride.available_seats < 1:
raise serializers.ValidationError("Ride is already full!")
if ride.passengers.filter(pk=self.context['user'].pk).exists():
raise serializers.ValidationError('Passenger is already in this trip')
return data
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.