0

我正在使用django_extensions TimeStampedModel,它提供了一个通过事件modified设置自身的字段。pre_save这很好,除了我正在转换旧模式并希望保留原始modified日期戳。如何修改、避免、取消或替换 pre_save 修改为另一个值?

4

2 回答 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 回答