将外键模型与Django信号连接起来



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

class Bumblebee(models.Model):
name = models.CharField(max_length=50)
class Bacteria(models.Model):
bumblebee = models.ForeignKey(Bumblebee, on_delete=models.CASCADE) 

当我构建这个postrongave信号来监听正在创建的细菌时,我该如何调用大黄蜂的字段?这就是我所拥有的,但它不起作用。

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

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

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

这里的例子是细菌的对象。

最新更新