Sto usando Django 1.7.1. Il mio modello è simile al seguente:Django 1.7.1 Makemigrations non riesce quando si utilizza lambda come predefinito per l'attributo
from datetime import datetime
from django.db import models
class myModel(models.Model):
x = models.CharField(max_length=254,null=True, blank=True,)
Tutto funziona perfettamente.
Tuttavia, quando aggiungo il seguente attributo al MyModel, si rompe:
y = models.DateTimeField(default=lambda: datetime.utcnow() + timedelta(days=1), editable=False)
manage.py makemigrations
mi dà il seguente errore:
ValueError: Cannot serialize function: lambda
Questo mi sembra un bug noto: http://comments.gmane.org/gmane.comp.python.django.scm/125724
Quindi come posso aggirarlo? Ho bisogno che il valore di y
sia impostato automaticamente per impostazione predefinita a 24 ore dal momento in cui il modello è stato creato.
Ha funzionato. Grazie. –
Mi sono imbattuto nella tua risposta. Per i principianti come me, non sapremo cosa intendi per 'definire la funzione in ambito modulo'. – Valachio
@Valachio Significa definire la funzione nello stesso file. Guarda un esempio qui: https://stackoverflow.com/a/15289517/490592 –