GenericForeignKey を使用するのは初めてで、クエリ ステートメントで機能させることができませんでした。表はおおよそ次のようなものです。
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)
スキャンは 1 つの問題を作成し、問題はいくつかのチケットを生成し、チケット テーブルへの外部キーとして問題を作成しました。Scan オブジェクトができたので、このスキャンに関連するすべてのチケットを照会したいと考えています。私はこれを最初に試しました:
tickets = Tickets.objects.filter(issue__scan=scan_obj)
これは機能しません。それから私はこれを試しました:
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)
それでもうまくいきません。django でこれらの種類のクエリを実行する方法を知る必要がありますか? ありがとう。