そのため、(UNION を実現するために) 一緒に OR 演算されたいくつかの Q オブジェクトを含むクエリがあり、Q オブジェクトが一致した各結果に注釈を付けたいと考えています。これにより、クエリ結果を表示するときに、各結果でヒットした検索用語を強調表示できます。
結果の querySet を生成するコードは次のとおりです。
Gene.objects.filter(Q(EC__EC='3.2.1.4')|Q(Protein_Family__name__in=famList)|Q(Pfam__Pfam__in=pfams),Protein_length__gte=100, Distance_From_Contig_Upstream__gte=10, Distance_From_Contig_Downstream__gte=10).distinct()
.extra オプションを使用して、この注釈付きの列を追加できると思います: https://docs.djangoproject.com/en/1.3/ref/models/querysets/#extra
これができない場合は、おそらく 3 つの個別のクエリを実行し、結果に注釈を付けてから、クエリセットの OR を組み合わせます...これはおそらくかなり無駄であり、不器用に思えます。