<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      django 數據庫遷移結束之后,就執行的代碼

      在你需要的app下面創建signals.py文件該文件下寫出你需要執行的函數或類

      例如

      from django.db import transaction
      
      from user import models
      from logger import log
      
      
      class CreatePermissions(object):
          @staticmethod
          def create_permissions(sender, **kwargs):
              permissions = ["upload", "login", "admin", "user"]
              with transaction.atomic():
                  for i in permissions:
                      models.Permission.objects.get_or_create(name=i, description=f"Already endowed{i} permissions")
              log.info(f"signal: create {permissions} permissions success")

      然后在對應的app.py下面寫入以下代碼:

      from django.apps import AppConfig
      from django.db.models.signals import post_migrate
      
      
      class UserConfig(AppConfig):
          default_auto_field = 'django.db.models.BigAutoField'
          name = 'user'
      
          def ready(self) -> None:
              from user.signals import CreatePermissions
              # 數據庫遷移結束時,就創建權限角色
              post_migrate.connect(CreatePermissions.create_permissions, sender=self)  # type: ignore

       

      posted @ 2024-07-22 13:47  小天狼鑫  閱讀(11)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本深夜福利在线观看| 国产美女高潮流白浆视频| 九九热精品在线视频观看| 熟妇人妻无码中文字幕老熟妇| 国产成人无码免费视频在线| 国产免费午夜福利在线播放| 人妻丝袜中文无码av影音先锋| 国精偷拍一区二区三区| 精品人妻人人做人人爽夜夜爽| 精品国产一区二区三区国产区 | 人妻少妇久久中文字幕| 亚洲天堂亚洲天堂亚洲天堂| 久久99热只有频精品8| 亚洲一区成人av在线| 人妻少妇88久久中文字幕| 嫩草研究院久久久精品| 五月综合网亚洲乱妇久久| 国产精品无码制服丝袜| 亚洲狠狠狠一区二区三区| 人妻少妇偷人精品一区| 国产男人的天堂在线视频| 蜜臀一区二区三区精品免费| 欧美日产国产精品日产| 99re6这里有精品热视频| 欧美亚洲人成网站在线观看| 日日噜久久人妻一区二区| 国产精品高清国产三级囯产AV| 99久久国产成人免费网站| 国产成人高清亚洲一区91| 国产蜜臀在线一区二区三区| 极品美女自拍偷精品视频| 色偷偷www.8888在线观看| 99久久精品费精品国产一区二| 国产无遮挡无码视频在线观看 | 91区国产福利在线观看午夜| 无码人妻精品一区二区三区蜜桃 | 午夜福利国产精品视频| 四虎亚洲精品高清在线观看| 国内精品自在拍精选| 午夜综合网| 白嫩人妻精品一二三四区|