2016-08-03 5 views
0

Ich bin ein Neuling von Django. Dies ist das Problem, auf das ich gestoßen bin.Django, DateTimeField (auto_now_add = True) funktioniert nicht

models.py: created_time = models.DateTimeField('Created Time', auto_now_add=True) Als ich Migrationen: migrations error

Dann habe ich den Standard, um es hinzuzufügen: created_time = models.DateTimeField('Created Time', auto_now_add=True, default=timezone.now) ich es Migrationen wieder: migrations error2

kann also jemand, sagen Sie mir, Wie verwende ich DateTimeField mit auto_now_add = True?

Antwort

0

Wie der Fehler sagt, können Sie auto_now_add=True nicht festlegen und einen Standardwert gleichzeitig angeben.

Das Problem ist, dass Django wissen muss, welchen Wert für Ihre vorhandenen Einträge in der Datenbank verwendet werden soll.

Sie können entweder null=True einstellen, dann wird der Wert als None belassen.

created_time = models.DateTimeField('Created Time', auto_now_add=True, null=True) 

Oder einfach den Standard entfernen und Makemigrationen erneut ausführen.

created_time = models.DateTimeField('Created Time', auto_now_add=True) 

Wenn Django fordert Sie auf, wählen Sie Option 1), und geben Sie einen Standardwert (z timezone.now).