Django: timezone.now vs timezone.now ()

Ich aktualisiere gerade mein Projekt von Django 1.8.2 auf 1.9.7 und bekomme folgende Warnung:

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

Hier ist die Zeile von my_app / models.py:

from django.utils import timezone
...
class my_model(models.Model):
    ...
    datetime_released = models.DateTimeField(default=timezone.now() )

Wenn ich die Klammern entferne und stattdessen Folgendes verwende:

datetime_released = models.DateTimeField(default=timezone.now )

Die Django-Warnung verschwindet. Was ist der Unterschied zwischen den beiden?

In einem anderen Bereich meines Projekts verwende ich timezone.now () in einem Abfragesatzfilter:

def date_available(self):
        return self.filter(date_available__lte = timezone.now())

Hier, wenn ich die Klammern entferne, wird ein Fehler ausgegeben:

TypeError: expected string or buffer

Ich kann diese beiden Funktionen erhalten, indem ich die Klammern nach Bedarf hinzufüge / entferne, aber was ist der Unterschied zwischentimezone.now() undtimezone.now und warum verursachen sie in diesen Fällen Warnungen / Fehler?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage