title: Check for existence of a related object in a Case queryset statement?
body: <p>I want to annotate a queryset with a related object, if that object exists, or with another field if it doesn't:</p>
  
  <pre><code>#models.py
  
  class MyModel(Model):
    f1 = ForeignKey(MyRelated, related_name='f1')
    f2 = ForeignKey(MyRelated, related_name='f2', null=True)
  
  #queryset
  
  MyModel.objects.annotate(
    f=Case(
      When( *something* ,then=F('f2')),
      default=F('f1')
    )
  )
  </code></pre>
  
  <p>What I need to know is what to put in in place of <code>*something*</code> to check if the foreign key exists or not.</p>