title: Django model: Get many fields from 2 tables on same foreign key
body: <p>I have 2 model classes in Django:</p>
  
  <pre><code>class Notification(models.Model):
   receiver = models.ForeignKey(User, null=True, blank=True)
   content = models.CharField(max_length=500)
   object_id = models.IntegerField(blank=True, null=True)
   type = models.TextField(max_length=200, blank=True, null=True)
  </code></pre>
  
  <p>Class Notification stores notification about users activity. Field "content" is like: "welcome you registered Business Course successfully", or "5ASC is your voucher code". Field type stores types of object: course, promotion.</p>
  
  <pre><code>class PaymentTransaction(models.Model):
   course = models.ForeignKey(Course)
   student = models.ForeignKey(User)
   PAYMENT_STATUS = ( SUCCESS, FAILURE, PROCESSING)
   payment_status = models.CharField(max_length=50, choices=PAYMENT_STATUS, default=PROCESSING)
  </code></pre>
  
  <p>In notification pop up, when he clicks to paid Course then go to Course detail page and start learning, when he clicks to unpaid Course then go to Course register page, when he clicks to promotion code then go to promotion code page</p>
  
  <p>How to have a QuerySet return all fields of Notification and PaymentTransaction tables, and condition is Notification.receiver_id = PaymentTransaction.student_id .
  For each Course notification, i want to get Course payment status.I did:</p>
  
  <p><code>user = request.user
   p_list = PaymentTransaction.objects.filter(student=user)
   n_list = Notification.objects.filter(receiver=user).intersection(p_list)
  </code></p>
  
  <p>But it did't work</p>