Używam Django 1.7.1. Mój model wygląda następująco:Django 1.7.1 Makemigracje nie udają się, gdy domyślnie używa się lambda dla atrybutu
Wszystko działa idealnie.
Jednak kiedy dodać następujący atrybut do myModel, przerywa:
y = models.DateTimeField(default=lambda: datetime.utcnow() + timedelta(days=1), editable=False)
manage.py makemigrations
daje mi następujący błąd:
ValueError: Cannot serialize function: lambda
Wydaje się to znany błąd: http://comments.gmane.org/gmane.comp.python.django.scm/125724
Jak mogę to obejść? Potrzebuję automatycznie ustawić wartość y
na 24 godziny od momentu utworzenia modelu.
Pracował. Dzięki. –
Natknąłem się na twoją odpowiedź. Dla początkujących, takich jak ja, nie będziemy wiedzieć, co masz na myśli przez "zdefiniuj funkcję w zakresie modułu". – Valachio
@Valachio Oznacza to zdefiniowanie funkcji w tym samym pliku. Zobacz przykład tutaj: https://stackoverflow.com/a/15289517/490592 –