Je suis novice dans l'utilisation de GenericForeignKey, et je n'ai pas réussi à le faire fonctionner dans une instruction de requête. Les tables sont à peu près comme suit :
class Ticket(models.Model):
issue_ct = models.ForeignKey(ContentType, related_name='issue_content_type')
issue_id = models.PositiveIntegerField(null=True, blank=True)
issue = generic.GenericForeignKey('issue_ct', 'issue_id')
class Issue(models.Model):
scan = models.ForeignKey(Scan)
Une analyse crée une question, une question génère des tickets, et j'ai fait de la question une clé étrangère à la table des tickets. Maintenant j'ai un objet Scan, et je veux faire une requête pour tous les tickets qui sont liés à ce scan. J'ai d'abord essayé ceci :
tickets = Tickets.objects.filter(issue__scan=scan_obj)
ce qui ne fonctionne pas. J'ai alors essayé ceci :
issue = Issue.objects.get(scan=scan_obj)
content_type = ContentType.objects.get_for_model(Issue)
tickets = Tickets.objects.filter(content_type=content_type, issue=issue)
Ça ne marche toujours pas. J'ai besoin de savoir comment faire ce genre de requêtes dans django ? Merci.