Je ferai de mon mieux pour décrire ce que j'essaie de faire ici. J'ai 3 classes:Utilisation du filtre dans une requête avec 2 champs ManyToMany dans Django
- Question
- questiontype
- QuestionTemplate
Et les relations sont:
- Question < -ManyToMany-> questiontype
- QuestionTemplate < -ManyToMany-> questiontype
Ainsi, la requête est une méthode à l'intérieur QuestionTemplate qui me fait une liste de questions possibles qui ont le même questiontype qui sont liés à la QuestionTemplate. J'ai essayé: questions = Question.objects.filter(type__in = template.type.all())
Où "template" est un objet QuestionTemplate. Mais cette requête me renvoie les questions qui ont au moins un QuestionType dans la liste QuestionType du modèle. Ce que je veux faire, c'est avoir exactement les mêmes QuestionTypes dans la question et le modèle.
J'ai essayé beaucoup de choses, mais je n'arrive pas à faire fonctionner ça, s'il vous plaît, quelqu'un me sauve!
veuillez clarifier ce que vous essayez d'obtenir. Vous essayez d'obtenir les questions qui sont exactement les mêmes dans le ...? Je pense que vous avez laissé quelques mots sur votre message initial. – DTing
Je veux obtenir les questions qui ont les mêmes (exactement) connexions à QuestionType sur un QuestionTemplate donné. Donc, si je reçois un modèle qui a le QuestionType = (Type1, Type2 et Type3) La requête retournera toutes les questions qui ont les connexions à QuestionType = (Type1, Type2, Type3). Donc toute autre question qui a une connexion différente à QuestionType, comme (Type1, Type2 et Type5) ne serait pas entrer dans la liste .. Il en va de même pour une question qui a le QuestionTypes = (Type1 et Type2), car il n'a pas le type3 comme le modèle, il serait également rejeté. – Arruda