class EventInline(admin.TabularInline): model = Event fields = ["temps","tipus","jugador","equip"] ordering = ("temps",) def formfield_for_foreignkey(self, db_field, request, **kwargs): # filtrem els jugadors i només deixem els que siguin d'algun dels 2 equips (local o visitant) if db_field.name == "jugador": partit_id = request.resolver_match.kwargs['object_id'] partit = Partit.objects.get(id=partit_id) jugadors_local = [fitxa.jugador.id for fitxa in partit.local.fitxa_set.all()] jugadors_visitant = [fitxa.jugador.id for fitxa in partit.visitant.fitxa_set.all()] jugadors = jugadors_local + jugadors_visitant kwargs["queryset"] = Jugador.objects.filter(id__in=jugadors) return super().formfield_for_foreignkey(db_field, request, **kwargs)