Нет, вы не делаете что-то не так. Это ошибка в django-mptt.
В основном поля даты и времени с auto_add_now=True
не получают значения, пока django-mptt не попытается выяснить, куда вставить вашу модель в дерево.
Я только что создал проблему на django-mptt, чтобы исправить это: https://github.com/django-mptt/django-mptt/issues/175
А пока вы можете обойти это, предварительно установив значение самостоятельно. Избавьтесь от auto_now_add=True
и установите значение в переопределенном методе save () вашей модели: *
from datetime import datetime
class Comment(MPTTModel):
comment = models.CharField(max_length=1023)
resource = models.ForeignKey('Resource')
created_at = models.DateTimeField()
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
author = models.ForeignKey(User)
class MPTTMeta:
order_insertion_by = ['created_at']
def save(self, *args, **kwargs):
if not self.created_at:
self.created_at = datetime.now()
super(Comment, self).save(*args, **kwargs)