title: Annotate queryset with boolean where one field is equal or not to another field
body: <p>The question is regarding annotation in Django.</p>
  <p>For example I have a following model:</p>
  <pre><code>class Example(models.Model):
  
      field_1 = PositiveIntegerField()
      field_2 = PositiveIntegerField()
  
  </code></pre>
  <p>And I want to annotate queryset based on this model with boolean <code>True</code> or <code>False</code> based on whether <code>field_1 == field_2</code></p>
  <p>I managed to find 2 solutions on this, both of that don't satisfy me.</p>
  <ol>
  <li><code>Example.objects.extra(select={'equal': r' field_1 = field_2'})</code></li>
  </ol>
  <p>Use Raw SQL, and <code>extra()</code> that is about to get deprecated.</p>
  <p>2)</p>
  <pre><code>Example.objects.all()\
      .annotate(
      equal=
          Case(
              When(field_1=F('field_2'), then=True),
              default=False,
              output_field=BooleanField(),
          )
      )
  </code></pre>
  <p>Which is quite verbose and makes queryset 4 times slower.</p>
  <p>Question is  - is it possible to express such logic in Django ORM without the usage of RAW SQL and with less verbose and more straightforward logic?</p>
  <p>Thank you.</p>