【发布时间】:2018-11-09 07:05:08
【问题描述】:
我在pre_delete、post_save 和pre_delete 接收器上为某些模型配置了一些django 信号,这些模型存储在与模型相同的包中的signals.py 文件中。
从 API 调用或直接在终端中保存会触发信号,但从管理仪表板保存时不会触发信号。
我已经在AppConfig 的ready() 方法中导入了信号,但没有任何改变。
对这个问题有帮助吗?
PS:如果有帮助,请使用 django-oscar。
from django.db.models.signals import post_delete, post_save, pre_delete
from django.dispatch import receiver
from oscar.core.loading import get_model
MyModel = get_model('mypackage', 'MyModel')
@receiver(post_save, sender=MyModel)
def do_stuff(sender, instance=None, created=False, **kwargs):
update_stuff()
【问题讨论】:
-
请发布您的模型和相关代码以提供帮助
-
添加了一个 sn-p 来显示组织,
update_stuff()从管理员保存时永远不会被调用 -
“管理仪表板”是什么意思 - 是 Django 管理员还是 Oscar 仪表板?如果 Oscar 仪表板,那么您是如何通过仪表板使您的模型可编辑的?
-
这是默认的 django 管理界面,而不是 oscar 仪表板。模型使用来自 django 的默认
admin.ModelAdmin注册。 -
您的 AppConfig 的 ready() 方法是否被 Django Admin 应用程序使用?我认为它没有?
标签: python django django-models django-admin django-oscar