На каждой из моих моделей мне нравится отслеживать созданные и измененные времена. Я всегда добавляю это в свои классы моделей:поведение модели Bizarre Django с созданным/обновленным DateTimeFields
class SomeModel(models.Model):
...
creation_date = models.DateTimeField(auto_now_add=True)
modified_date = models.DateTimeField(auto_now=True)
Прохладный. Просто так? Ага. Или вы всегда можете сделать это:
from django_extensions.db.models import TimeStampedModel
class SomeModel(TimeStampedModel):
...
Сейчас сегодня, в первый раз когда-либо, я вижу странное поведение, когда просто запустив проект на моем сервере разработки против моего живого сервера.
Примечание: Следует отметить, что ниже поведение происходит с моей ручной настройки модели CREATION_DATE/MODIFIED_DATE, а также, если я использую TimeStampedModel от django_extensions.
На моем сервере разработки он работает, как ожидалось:
Добавить новый экземпляр модели
- Auto обновляет CREATION_DATE
- Auto обновляет MODIFIED_DATE
Update пример модели
- CREATION_DATE остается неизменным от первоначального (ожидаемого поведения)
- Auto обновляет MODIFIED_DATE
Однако после того, как вытащили мой живой сервер мы получаем такое поведение:
Добавить экземпляр модели
- Auto обновляет CREATION_DATE
- Auto обновляет MODIFIED_DATE
Обновление экземпляра модели
- CREATION_DATE получает значение 0000-00-00 00: 00: 00,000000 (неожиданное поведение)
- Автоматическое обновление измененного_данного
сервер разработки:
- Джанго 1,8
- Python 2.7.9
- MySQL Ver 14,14 Distrib 5,6.
Живой Сервер:
- Джанго 1,8
- Python 2.7.9
- MySQL Ver 14,14 Distrib 5,6.
Как вы можете видеть, единственное различие между ними небольшое изменение в MySQL. Это не должно быть проблемой, но все же я здесь ... получаю это странное поведение. Есть идеи?
MySQL .... Это не должно быть проблемой hahahahaha –