使用 Django 信号连接外键模型

Connecting Foreign key models with Django signal

我正在尝试构建一个 Django 信号,其发送者是一个模型(称为细菌),其接收者是一个模型(称为大黄蜂)。这些模型通过以下方式具有外键关系:

class Bumblebee(models.Model):
    name = models.CharField(max_length=50)

class Bacteria(models.Model):
    bumblebee = models.ForeignKey(Bumblebee, on_delete=models.CASCADE) 

当我构建此 post_save 信号以侦听正在创建的细菌时,我该如何调用 Bumblebee 的字段?这就是我的,但它不起作用。

@receiver(post_save, sender=Bacteria)
def my_handler(sender, **kwargs):
    bumblebee = Bacteria.bumblebee
    print(bumblebee.name)

您需要使用当前创建的 Bacteria 实例。

   @receiver(post_save, sender=Bacteria)
   def my_handler(sender,instance,created,**kwargs):
     if created:
        bumblebee = instance.bumblebee
        print(bumblebee.name)

这里的instance是Bacteria的对象