我正在使用Django 1.10
在我们的基础模型(少数模型继承自)中,我们设置了
class BaseModel(models.Model):
created_at = models.DateTimeField(db_index=True, auto_now_add=True)
现在,在特定的子类模型中,我需要覆盖它的保存并更新'created_at':
class Item(BaseModel):
title = models.CharField(max_length=200)
identifier = models.CharField(max_length=15)
def save(self, *args, **kwargs):
existing_item = Item.objects.active_and_deleted().get(
identifier=self.identifier)
existing_item.created_at = now()
super(Item, existing_item).save(args, kwargs)
更新后的实例created_at为“无”。 我试过'editable = True'失败了。 有什么想法吗?
答案 0 :(得分:0)
使用以下示例,更改DateTimeField
的默认参数,django将允许您手动编辑:在django.utils.timezone.now()
方法中使用save()
分配属性
import django
class BaseModel(models.Model):
created_at = models.DateTimeField(db_index=True,
default=django.utils.timezone.now())