title: How does django implement double underscore in filter?
body: <p>I noticed that <code>Django</code> use double under score to define a <code>lookup</code> in <code>Model.objects.filter</code> instance.</p>
  
  <p>For example:</p>
  
  <p><code>Room.objects.filter(width__lte = 10)</code></p>
  
  <p>How does it work? How can I create my own function like Django and know that <code>width__lte</code> is actually separated for <code>width</code> and <code>lower then or equal to 10</code>.</p>