如何打印 django 信号的 kwargs?
How to print the kwargs of django signal?
我正在从模型发送信号,接收器确实收到了信号,但我无法在信号中使用 kwargs。我如何 see/print 了解信号中发送的内容?
import django.dispatch
timesheet_signal = django.dispatch.Signal()
def send_timesheet_signal(self, employee, employee_id):
timesheet_signal.send_robust(sender=self.__class__, employee=employee, employee_id=employee_id)
@receiver(post_save, sender=Timesheet)
def update_employee_info(sender, instance, created, **kwargs):
instance = kwargs.get('instance')
employee = instance.employee
employee_id = instance.employee_id
if created:
...
我尝试了很多形状和形式,这是接收器的当前状态。我如何 see/print 了解信号中发送的内容?
kwargs 可以被认为是一个字典,你可以通过多种方式解决这个问题。
for k, v in kwargs.items():
print(f'{k}={v}')
或
print(kwargs)
一些文档:
django.db.models.signals.pre_init
q = Question(question_text="What's new?", pub_date=timezone.now())
发送到 pre_init 处理程序的参数将是:
Argument Value
sender Question (the class itself) args [] (an empty list because there were no positional arguments passed to __init__())
kwargs {'question_text': "What's new?", 'pub_date': datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)}
我正在从模型发送信号,接收器确实收到了信号,但我无法在信号中使用 kwargs。我如何 see/print 了解信号中发送的内容?
import django.dispatch
timesheet_signal = django.dispatch.Signal()
def send_timesheet_signal(self, employee, employee_id):
timesheet_signal.send_robust(sender=self.__class__, employee=employee, employee_id=employee_id)
@receiver(post_save, sender=Timesheet)
def update_employee_info(sender, instance, created, **kwargs):
instance = kwargs.get('instance')
employee = instance.employee
employee_id = instance.employee_id
if created:
...
我尝试了很多形状和形式,这是接收器的当前状态。我如何 see/print 了解信号中发送的内容?
kwargs 可以被认为是一个字典,你可以通过多种方式解决这个问题。
for k, v in kwargs.items():
print(f'{k}={v}')
或
print(kwargs)
一些文档: django.db.models.signals.pre_init
q = Question(question_text="What's new?", pub_date=timezone.now())
发送到 pre_init 处理程序的参数将是:
Argument Value
sender Question (the class itself) args [] (an empty list because there were no positional arguments passed to __init__())
kwargs {'question_text': "What's new?", 'pub_date': datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)}