【发布时间】:2019-03-28 11:19:26
【问题描述】:
我的模型中有以下 pre_save 信号:
@receiver(pre_save, sender=Purchase)
def user_created_purchase_cgst(sender,instance,*args,**kwargs):
c = Journal.objects.filter(user=instance.user, company=instance.company).count() + 1
if instance.cgst_alltotal != None and instance.cgst_alltotal != 0:
Journal.objects.update_or_create(
user=instance.user,
company=instance.company,
by=ledger1.objects.filter(user=instance.user,company=instance.company,name__icontains='CGST').first(),
to=instance.party_ac,
defaults={
'counter' : c,
'date': instance.date,
'voucher_id' : instance.id,
'voucher_type' : "Journal",
'debit': instance.cgst_alltotal,
'credit': instance.cgst_alltotal}
)
我想创建另一个类似于上面的信号,当发送者被删除时,发送者实例也将被删除。
即当 Purchase 对象被删除时,由 pre_save 信号创建的相应 Journal 对象将被删除。
知道如何执行此操作吗?
谢谢
【问题讨论】:
-
您的问题令人困惑。您的代码中没有任何内容被删除。你到底想做什么。
-
请阅读我的问题,我说我想创建另一个信号,以便在删除发件人时删除实例
-
为什么不直接使用 django 的
pre_delete或post_delete内置信号? docs.djangoproject.com/en/2.1/ref/signals/#pre-delete -
我实际上是 django 的新手,并没有使用太多
pre_delete信号...所以我想知道应该怎么做 -
我会为你写一个正确的答案。
标签: django django-signals