在django.dispatch.receiver中获取userID

时间:2017-11-04 09:56:43

标签: python django django-models django-signals

我正在尝试使用django用户的ID来保存模型时的操作。

为此,我有一个接收器如下:

@receiver(post_save, sender=ServersModel)
def create_zabbix_host(sender, instance=None, created=False, **kwargs):
    if created:
        print(instance.name)
        print(kwargs)

我可以获得ServersModel名称,但我无法获取与之关联的用户的ID。

有没有办法在ServersModel接收器中获取连接的用户ID?

我尝试过以下解决方案,但徒劳无功:Get current user log in signal in Django

第一部分尝试作为解决方案:但请求始终为无

@receiver(post_save, sender=ServersModel)
    def create_zabbix_host(sender, instance=None, created=False, **kwargs):
        import inspect
        for frame_record in inspect.stack():
          if frame_record[3]=='get_response':
            request = frame_record[0].f_locals['request']
            break
          else:
            request = None

0 个答案:

没有答案