Django post-migrate信号使用

post-migrate信号用于在执行migrate之后自动执行一些过程。使用post-migrate信号需要修改三个文件。
1.首先在相应app目录下的__init__.py文件下加入下面一行:

default_app_config = 'app_name.apps.app_nameConfig'

比如app_name是system_module,则加入
default_app_config = ‘system_module.apps.SystemModuleConfig’

2.然后在app_name/management/init.py文件中定义接收到post_migrate信号要执行的过程。

from django.db.models import signals
def init_information_config(**kwargs):
    from system_module.models import informationconfig
    if informationconfig.objects.count()==0:
        obj = informationconfig(information_num=100)
        obj.save()

3.最后修改相应app文件夹下的apps.py文件

from django.apps import AppConfig
from django.db.models.signals import post_migrate
from system_module.management import init_information_config

class SystemModuleConfig(AppConfig):
    name = 'system_module'

    def ready(self):
        post_migrate.connect(init_information_config,
            dispatch_uid='system_module.init_information_config'
        )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值