保存模型后在Django中调用函数

保存模型后在Django中调用函数,django,django-models,django-admin,Django,Django Models,Django Admin,背景:我正在写博客。这个博客通过Django模型将文章信息存储在数据库中。在上述模型中,我有一个FileField,它对该文件附带的所有资产进行归档。我通过管理员网站添加文章 我想调用一个函数,在对象保存到模型后立即解压缩此文件。我将在哪里编写此函数?也许您可以在应用程序/型号中使用post_保存信号: 您可以使用Django中包含的信号调度器 from django.db.models.signals import post_save from django.dispatch import r

背景:我正在写博客。这个博客通过Django模型将文章信息存储在数据库中。在上述模型中,我有一个FileField,它对该文件附带的所有资产进行归档。我通过管理员网站添加文章


我想调用一个函数,在对象保存到模型后立即解压缩此文件。我将在哪里编写此函数?

也许您可以在应用程序/型号中使用post_保存信号:


您可以使用Django中包含的信号调度器

from django.db.models.signals import post_save
from django.dispatch import receiver

from myapp.models import Blog

@receiver(post_save, sender=Blog)
def my_handler(sender, **kwargs):
    print('post save callback')

有关更多信息,请参阅。

能否在保存此对象的位置添加代码?这就是问题所在。我正在通过管理站点保存这些对象,所以我不知道代码在哪里或者它看起来像什么。如果我能弄清楚它被保存在哪里以及如何保存,我就可以修改它,然后立即调用我的函数。MyModel不应该是Blog吗?这段代码放在哪个文件中?