title: How can I use prefetch_related in self related model
body: <p>I have <code>Menu</code> model which has ForeignKey named parent related with itself.</p>
  
  <p>If parent is None it means this menu is parent menu if it shows another Menu object it means it is submenu for its parent(many-to-one relation)</p>
  
  <p>Here is my problem, I want to get all menus with its submenus using <code>prefetch_related</code>, How can I do it?</p>
  
  <blockquote>
    <p><strong>Note:</strong> I do not want to get submenus going database each time in for
    menu</p>
  </blockquote>
  
  <p>Here is my model class</p>
  
  <pre><code>class Menu(models.Model):
      title = models.CharField(max_length=30)
      language = models.ForeignKey(Language)
      parent = models.ForeignKey("self", default=None, blank=True, null=True, related_name="submenus")
  </code></pre>
  
  <p>Here is my query</p>
  
  <pre><code>pm2 = Menu.objects.filter(parent=None, language__code=language, menutype=menutype).prefetch_related("submenus").order_by("order")
  for p in pm2:
      print(p.title)
      print(p.submenus)
  </code></pre>
  
  <p>When I print the submenus the result is <code>app.Menu.None</code></p>