I'm trying to filter down a list of speakers by a related (session) pk
here is my urls route
url(r'^/(?P<pk>\d+)/speakers/$', SpeakerList.as_view())
here is my view
class SpeakerList(generics.ListCreateAPIView):
model = Speaker
serializer_class = resources.SpeakerSerializer
here is my custom serializers
class SessionSerializer(serializers.ModelSerializer):
speakers = serializers.ManyPrimaryKeyRelatedField()
class Meta:
model = Session
fields = ('id', 'name', 'speakers')
class SpeakerSerializer(serializers.ModelSerializer):
class Meta:
model = Speaker
fields = ('id', 'name', 'session')
here is my models.py
class Session(models.Model):
name = models.CharField(max_length=150)
class Speaker(models.Model):
name = models.CharField(max_length=100)
session = models.ForeignKey(Session, related_name='speakers')
When i hit that endpoint I'm getting all the speakers back (not just all speakers for a given session)
[ {id: 1, name: foo, session: 1}, {id: 2, name: bar, session: 2} ]
I assumed the backend would use the pk (kwarg from the url) to filter this but ... clearly I was wrong :)
Any help would be greatly appreciated
Toran