title: Using Django Managers vs. staticmethod on Model class directly
body: <p>After reading up on Django Managers, I'm still unsure how much benefit I will get by using it. It seems that the best use is to add custom queries (read-only) methods like <code>XYZ.objects.findBy*()</code>.  But I can easily do that with static methods off of the <code>Model</code> classes themselves.</p>
  
  <p>I prefer the latter always because:</p>
  
  <ol>
  <li>code locality in terms of readability and easier maintenance</li>
  <li>slightly less verbose as I don't need the <code>objects</code> property in my calls</li>
  <li><code>Manager</code> classes have weird rules regarding model inheritance, might as well stay clear of that.</li>
  </ol>
  
  <p>Is there any good reason <em>not</em> to use static methods and instead use Manager classes?</p>