J'ai un problème très similaire à Django filter queryset __in for *every* item in listfiltre Django tout ce qui a certains noms
je dois sélectionner tous prospects
qui ont certaines certifications
tel que défini par
class Prospect(models.Model):
certification = models.ManyToManyField(Certification, blank=True, related_name="certification_prospects")
class Certification(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
Par exemple, si je certifications ['CPA', 'PhD'] Je veux tous les prospects qui ont exactement le CPA & PhD, s'ils ont plus ou moins que les deux, je veux les exclure.
J'utilise cette solution, comme donner le lien précédent
def searchForProspectByCertifications(prospects, certifications):
prospects = prospects.filter(certification__in=certifications).annotate(num_certifications=Count('certification')).filter(num_certifications=len(certifications))
return prospects
Mais je reçois une erreur de ValueError: invalid literal for int() with base 10: 'CPA'
Quel contenu ont donné perspectives, paramètres de certifications en méthode? –