Как сделать запрос в django serializers many to many objects filter?
Info: Я хочу отфильтровать кандидатов по партийному идентификатору Candidates.objects.filter(party_id_in=1).filter(party_id_in=4)
Как я могу передать этот набор запросов в ConstituenciesSerializer
. Я не понимаю, где и как я определяю и получаю кандидатов по идентификатору партии. Я хочу получить только кандидатов от двух партий в Constituencies serializers
.
Мой код работает нормально, но он получает все данные кандидатов.
Models.py
class Party(models.Model):
name = models.CharField(max_length=255)
class Candidates(models.Model):
name = models.CharField(max_length=100, verbose_name=_('English name'))
party = models.ForeignKey(Party, on_delete=models.SET_NULL, null=True))
class Constituencies(models.Model):
candidates = models.ManyToManyField(Candidates))
serializers.py
class PartySerializer(serializers.ModelSerializer):
class Meta:
model = Party
fields = ['name']
class CandidateSerializer(serializers.ModelSerializer):
party = PartySerializer(required=False, read_only=True)
class Meta:
model = Candidates
fields = [
'name',
'party',
]
class ConstituenciesSerializer(serializers.ModelSerializer):
candidates = CandidateSerializer(many=True)
class Meta:
model = Constituencies
fields = ['candidates']
views.py
class CandidateVSRetrive(generics.RetrieveAPIView):
queryset = Constituencies.objects.all()
serializer_class = ConstituenciesSerializer