Django怎么在Model保存前记录日志-创新互联
这篇文章主要为大家展示了Django怎么在Model保存前记录日志,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

Django中如何在Model保存前做一定的固定操作,比如写一句日志?
关键词: 信号
利用Django的Model的Signal Dispatcher, 通过django.db.models.signals.pre_save() 方法,在事件发生前,
发射
触发信号,这一切都被调度中的receiver方法深藏功与名的保存了。
信号的处理一般都写在Model中,举个例子:
import logging
from django.db import models
from django.db.models.signals import pre_save
from django.dispatch import receiver
class Order(models.Model):
# ...
logger = logging.getLogger(__name__)
@receiver(pre_save, sender=Order)
def pre_save_handler(sender, **kwargs):
# 我们可以在Order这个Model保存之前尽情调戏了:)
logger.debug("{}".format(sender, **kwargs))
print 'fuck universe' 当前文章:Django怎么在Model保存前记录日志-创新互联
当前URL:http://www.jxjierui.cn/article/cdcpoc.html


咨询
建站咨询
