在我的Django应用程序中,我正在编写一个自定义管理命令,该命令将根据传递的参数创建对象的实例,并且可以根据是否传递选项--save来 Select 将其保存到数据库.

在这件事上,我从django documentation本身得到了很多帮助.我还从here得到了关于如何传递多个参数的重要提示,从here得到了关于如何拥有选项的重要提示.

from optparse import make_option

class Command(BaseCommand):
  option_list = BaseCommand.option_list + (
    make_option('--delete',
        action='store_true',
        dest='delete',
        default=False,
        help='Delete poll instead of closing it'),
    )

  def handle(self, *args, **options):
    # ...
    if options['delete']:
        poll.delete()
    # ...

但是,我无法找到make_选项中字段的详细说明.例如,optparse.make_option个列表

Instance attributes:
_short_opts : [string]
_long_opts : [string]

action : string
type : string
dest : string
default : any
nargs : int
const : any
choices : [string]
callback : function
callback_args : (any*)
callback_kwargs : { string : any }
help : string
metavar : string

在这help是不言而喻的,我知道dest是什么意思,但我不清楚action='store_true'是什么意思.事实上,如果有人能给我一个简短的描述,make_option的所有论点是什么意思,那就太好了.

谢谢

推荐答案

The optparse docs个可能会更有帮助一点.您基本上是在告诉管理功能您需要的每个选项应该做什么.

关键字action是最能说明问题的,它配置了您想要对该选项做什么-它只是一个做一些特殊事情的标志(callback,即‘--enable-feature’),还是应该接受一个参数,例如(store,即‘-Things 10’).

考虑到这一点,睡觉的 Select 就更有意义了.通读'option attributes'以获得对您列出的内容的解释,然后通读'actions'以了解我上面提到的内容

Django相关问答推荐

如何在REST框架中以SON格式返回错误,而不是HTML格式返回错误?

如何在Django中将字段及其数据从一个模型添加到另一个模型?

如果密码在Django中未被散列,则对其进行散列

如何显示日期?

Django迁移嵌套模型时出错,不带迁移基本模型

过滤查询以获取两个朋友之间的聊天消息?

Django:在模板中呈现表单字段时添加 CSS 类

django 在 ubuntu 中安装在哪里

Django Admin - 覆盖自定义表单字段的小部件

具有基于类的视图的 cache_page

Apache + mod_wsgi 与 nginx + gunicorn

如何在django中生成临时文件然后销毁

Django:创建索引:非唯一,多列

Django manage.py:在其依赖之前应用迁移

UpdateView 中的success_url,基于传递的值

1 个 django 应用程序中约有 20 个模型

django select_related - 何时使用它

想要在 Django 测试中禁用信号

Django 测试客户端方法覆盖标头

Django: Force强制 Select 相关?