title: Django: user.has_perm always true and user is not superuser. Why?
body: <p>I assigned a permission of a user in my Django 1.5 app. 
  When I list all user permissions with </p>
  
  <pre><code>In [1]: user.get_all_permissions()
  Out[1]: set([u'profile.change_profile'])
  </code></pre>
  
  <p>I can see one permission (which is correct and wanted). The user is also not a superuser, not an admin.</p>
  
  <pre><code>In [2]: user.is_superuser
  Out[2]: False
  </code></pre>
  
  <p>However, if I try to use <code>user.has_perm</code>, I  always get <code>True</code> as a return for any submitted permission request. </p>
  
  <pre><code>In [3]: user.has_perm('random_permission')
  Out[3]: True
  </code></pre>
  
  <p>A behaviour I would expect if the user is a superuser/admin. Why is a non-superuser getting always <code>True</code> for every request? Did I miss any setting?</p>