如何记录OneToOneField的修改时间戳?

时间:2014-08-21 11:37:49

标签: python django django-models

我基本上问,在我的ExtendedProfile模型中更新modified_time的最简单方法是什么:

from django.db import models
from django.contrib.auth.models import User  

class ExtendedProfile(models.Model):
    user = models.OneToOneField(User)
    created_time = models.DateTimeField(auto_now_add = True)
    modified_time = models.DateTimeField(auto_now = True)

如果编辑了用户模型,因为这似乎只有在我编辑ExtendedProfile字段时才有效。

1 个答案:

答案 0 :(得分:2)

最简单的方法是为我认为的用户模型编写post_save信号处理程序(https://docs.djangoproject.com/en/dev/ref/signals/#post-save)。

或者,您可以指定自定义用户模型并从AbstractUser扩展它,这样您就不必考虑OneToOne关系。假设您使用的是最新版本的django。请参阅https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model