init命令添加可指定app进行初始化,'python manage.py init -app app1 app2 ...'或 'python manage.py init -A app1 app2 ...'

This commit is contained in:
china_ahhui
2024-04-11 16:57:14 +08:00
parent 94767d8bc1
commit a6e20d88da

View File

@@ -22,6 +22,8 @@ class Command(BaseCommand):
parser.add_argument("-Y", nargs="*") parser.add_argument("-Y", nargs="*")
parser.add_argument("-n", nargs="*") parser.add_argument("-n", nargs="*")
parser.add_argument("-N", nargs="*") parser.add_argument("-N", nargs="*")
parser.add_argument("-app", nargs="*")
parser.add_argument("-A", nargs="*")
def handle(self, *args, **options): def handle(self, *args, **options):
reset = False reset = False
@@ -29,9 +31,10 @@ class Command(BaseCommand):
reset = True reset = True
if isinstance(options.get("n"), list) or isinstance(options.get("N"), list): if isinstance(options.get("n"), list) or isinstance(options.get("N"), list):
reset = False reset = False
assign_apps = options.get("app") or options.get("A") or []
for app in settings.INSTALLED_APPS: for app in settings.INSTALLED_APPS:
if assign_apps and app not in assign_apps:
continue
try: try:
exec( exec(
f""" f"""