使用 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的对象
我正在尝试构建一个 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的对象