自定义 Django 命令 - 帮助字符串在 shell 完成时不可见

custom django command - help string not visible in shell completion

以下是我在以下文件中编写的自定义命令 myapp/management/commands/create_myadmin.py

from django.core.management.base import BaseCommand
from django.contrib.auth.models import User

class Command(BaseCommand):
    help = 'Creates a superuser that can view the admin page'

    def handle(self, *args, **options):
        try:
            user = User.objects.get(username='myadmin')
        except User.DoesNotExist:
            user = User.objects.create_superuser('myadmin', 'myadmin@mymail.com', 'myadmin')
            user.save()

在此之后,我将 myapp 添加到 myproject/settings.py

中的 INSTALLED_APPS

我的问题是,当我使用自动完成功能并列出以 "create" 开头的命令时,它不会显示针对 create_myadmin 的帮助字符串,如下所示

python3 manage.py create (pressed tab here)

createcachetable   -- creates table for SQL cache backend
createsuperuser    -- create a superuser
create_admin_user (help string missing??)

我希望存储在帮助变量中的字符串在这里可见。 有任何快速指示吗?

更新:我检查了 django/core/management/commands/createcachetable.py 的代码,那里提到的帮助文本与我上面得到的不匹配。知道在哪里可以定义上面自动完成中显示的帮助文本吗?

Django 的 bash 和 zsh 完成 运行

./manage.py 

获取命令列表。此列表不显示帮助文本。这是有道理的,因为显示帮助文本需要导入所有命令模块。

Django 的 zsh completion 包含一些内置命令的默认帮助消息。