假设我有一些模型实例A1,现有模型B1和B2将A1作为外键字段fk。有没有办法让模型实例A1知道另一个新创建的模型实例B3已将其分配为fk字段(每次模型B使用A1作为其fk并跟踪计数器更改时,无需设置某种计数器) ?
最终,当其他用户发布问题时(例如模型A实例),我喜欢类似于用户如何收到新答案或评论(比如模型B实例)的通知。
任何有效执行此操作的建议都将受到赞赏。谢谢:))
答案 0 :(得分:0)
尝试使用django post保存信号
当在模型中保存任何条目时,执行后保存信号,您可以在保存后信号中找到对象有fk或不具有fk。
请参阅以下代码。
from django.db.models.signals import post_save
from django.dispatch import receiver
class YourModel(models.Model):
# ... fields here
# method for fk is assigned or not
@receiver(post_save, sender=YourModel)
def signal_name(sender, instance, **kwargs):
if instance.fk:
# Do your stuff
有关详细信息,请参阅django signal
这可能会帮助您找出fk是否已分配。