title: Django model names are case insensitive, right?
body: <p>If I have <code>myapp/models.py</code></p>
  
  <pre><code>from django.db import models
  
  class FooBar(models.Model):
      x = models.BooleanField()
  
  class Foobar(models.Model):
      y = models.BooleanField()
  </code></pre>
  
  <p>and add <code>myapp</code> to <code>INSTALLED_APPS</code> and do a <code>syncdb</code>, I only get <code>FooBar</code> model converted to a db table. The <code>Foobar</code> model is ignored. </p>
  
  <p>Another strange thing to note is that when we do</p>
  
  <pre><code>from myapp import models
  </code></pre>
  
  <p>both <code>FooBar</code> and <code>Foobar</code> are present as attributes of <code>models</code>. However, </p>
  
  <pre><code>&gt;&gt;&gt; models.FooBar.__name__
  'FooBar'
  &gt;&gt;&gt; models.Foobar.__name__
  'FooBar'
  </code></pre>
  
  <p>and both are just interfaces to the db table of <code>FooBar</code> (by default <code>myapp_foobar</code>). </p>
  
  <p>I am asking this question because it seems to me from this that django model names are case insensitive and yet I have not found any documentation stating this and moreover <a href="https://stackoverflow.com/q/6557368/1009979">this</a> question was answered to the effect that django model names are case sensitive. </p>