我正在使用django_extensions TimeStampedModel,它提供了一个通过事件modified
设置自身的字段。pre_save
这很好,除了我正在转换旧模式并希望保留原始modified
日期戳。如何修改、避免、取消或替换 pre_save 修改为另一个值?
问问题
496 次
2 回答
1
最后,我只是做了一个结束:
from django.db import connection
cursor = connection.cursor()
cursor.execute("update %s set modified='%s' where id=%s" % (
my_model._meta.db_table, desired_modified_date, my_model.id))
于 2014-09-24T18:10:39.570 回答
0
你不能。不是你问的那个意思。
您可以创建一个假字段并将其填充到clean()
.
Class MyModel(models.Model):
def clean(self):
self._modified = self.modified
...
@receiver(pre_save, sender=MyModel)
def receiver_(self, *args, **kwargs):
self.modified = self._modified
因此,您正在备份字段值并稍后将其放回。注意:确保您的应用程序稍后加载。
于 2014-09-24T17:39:35.100 回答