gpt4 book ai didi

Django 删除一个 GenericForeignKey

转载 作者:行者123 更新时间:2023-12-02 03:56:52 25 4
gpt4 key购买 nike

我正尝试在 this tutorial 之后实现事件提要.

当相应的对象(即评论本身)已被删除时,我想删除一个事件(即已添加评论)。这似乎没有级联。

有没有办法在不添加 GenericRelation 的情况下实现这一点?可以使用删除后信号删除相应的事件。这是最好的方法吗?

最佳答案

是的,你可以,但也许使用 pre_delete signal 会更好因为您将能够访问实例 pk。

from django.contrib.contenttypes.models import ContentType
from django.db.models.signals import pre_delete
from django.dispatch import receiver

from yourapp.models import Comment, Activity

@receiver(pre_delete, sender=Comment)
def pre_delete_receiver(sender, instance,**kwargs):
# code that delete the related objects
# As you don't have generic relation you should manually
# find related actitities
ctype = ContentType.objects.get_for_model(instance)
Activity.objects.filter(content_type=ctype, object_id=instance.pk).delete()

关于Django 删除一个 GenericForeignKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com