title: Get concrete profile from request.user in Django
body: <p>I have abstract profile linked to the User:</p>
  
  <pre><code>class Account(models.Model):
     class Meta:
          abstract = True
  
      user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True)
      patronic_name = models.CharField(max_length=255, default="")
      # additional fields and methods
      def foo(self):
         print('account')
  </code></pre>
  
  <p>And I have multiple different roles and implementations - student, tutors, admins, etc.
  I created a class for each of them, derived from the Account class.</p>
  
  <pre><code>class Teacher(Account):
      def foo(self):
          print('teacher')
      # ...additional fields and methods
  
  class Student(Account):
          def foo(self):
              print('student')
      # ...additional fields and methods
  </code></pre>
  
  <p>Now I want to call <code>foo</code> method on the class object, like this:</p>
  
  <pre><code>@login_required
  def index(request):
     request.user.account.foo()
  </code></pre>
  
  <p>But since <code>Account</code> class is abstract, there is no <code>request.user.account</code> M2M relationship.
  I have <code>request.user.student</code>, <code>request.user.teacher</code> relationships, but I do not know the type of relationship.</p>
  
  <p>Is there any way to get the concrete account of <code>request.user</code> User object?</p>