title: Django: timezone.now vs timezone.now()
body: <p>I am in the process of upgrading my project from Django 1.8.2 to 1.9.7 and I'm getting this warning:</p>
  
  <pre><code>WARNINGS:
  my_app.my_model.date_available: (fields.W161) Fixed default value provided.
  HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. 
  If you want to have the current date as default, use `django.utils.timezone.now
  </code></pre>
  
  <p>Here's the line from my_app/models.py:</p>
  
  <pre><code>from django.utils import timezone
  ...
  class my_model(models.Model):
      ...
      datetime_released = models.DateTimeField(default=timezone.now() )
  </code></pre>
  
  <p>If I remove the parentheses and instead use:</p>
  
  <pre><code>datetime_released = models.DateTimeField(default=timezone.now )
  </code></pre>
  
  <p>The Django warning goes away.  What's the difference between the two?</p>
  
  <hr>
  
  <p>In another area of my project I am using timezone.now() in a queryset filter:</p>
  
  <pre><code>def date_available(self):
          return self.filter(date_available__lte = timezone.now())
  </code></pre>
  
  <p>Here, if I remove the parentheses, an error is thrown:</p>
  
  <p><code>TypeError: expected string or buffer</code></p>
  
  <hr>
  
  <p>I can get both of these two work by adding/removing the parenthesis as required, but what is the difference between <code>timezone.now()</code> and <code>timezone.now</code> and why do they cause warnings/errors in these cases?</p>