tco*_*art 4 django django-models django-admin
我在我的一个模型中添加了一个新字段,我想用执行特定操作的用户的姓名填充它(此处,验证者:USER)。
我看到的最简单的方法是从这些信息已经存在的历史中获取它。

例如,从这张图片中,如果用户执行“更改电子邮件”操作,我会得到用户“管理员”
如何获取对象的历史记录(如 django Admin 中所示)?
该信息存储在LogEntry模型中。
from django.contrib.admin.models import LogEntry
Run Code Online (Sandbox Code Playgroud)
它的定义是:
class LogEntry(models.Model):
action_time = models.DateTimeField(_('action time'), auto_now=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL)
content_type = models.ForeignKey(ContentType, blank=True, null=True)
object_id = models.TextField(_('object id'), blank=True, null=True)
object_repr = models.CharField(_('object repr'), max_length=200)
action_flag = models.PositiveSmallIntegerField(_('action flag'))
change_message = models.TextField(_('change message'), blank=True)
objects = LogEntryManager()
Run Code Online (Sandbox Code Playgroud)
源代码中的更多信息
确保您以只读模式访问它,否则您会弄乱您的日志历史记录。
| 归档时间: |
|
| 查看次数: |
3960 次 |
| 最近记录: |