擅长:python、mysql、java
<p>嗯,有可能。。。你知道吗</p>
<pre><code>ids = ExampleModel.objects.filter(param_e__name__in = ['A', 'B']).distinct().values_list('id', flat=True)
</code></pre>
<p>然后:</p>
<pre><code>from django.db.models import Count
ExampleModel.objects.filter(id__in=ids).annotate(match_count=Count('param_e')).filter(match_count=2)
</code></pre>
<p>你问它是干什么的?你知道吗</p>
<ol>
<li>为参数名称筛选ExampleModel</li>
<li>只获取不同的对象</li>
<li>Get objects id(进行另一个查询)</li>
<li>用ID列表过滤</li>
<li>使用标记项计数注释对象</li>
<li>再次筛选count等于2的对象,因为您只指定了两个名称(“A”和“B”)。你知道吗</li>
</ol>
<p>我选择先获取ids,因为我在组合过滤和注释时得到了错误的结果,所以必须检查一下。你知道吗</p>