Python 如何使用命令行选项运行`Model.objects.values()`?

Python 如何使用命令行选项运行`Model.objects.values()`?,python,django,Python,Django,在Django中,我正在生成一个名为some_command的manage.py命令 以下是我目前在management/commands/some_command.py中的内容 class Command(BaseCommand): def add_arguments(self,parser): parser.add_argument( "--fields", dest="fields", required=True,

在Django中,我正在生成一个名为
some_command
manage.py
命令

以下是我目前在
management/commands/some_command.py
中的内容

class Command(BaseCommand):
  def add_arguments(self,parser):
    parser.add_argument(
        "--fields",
        dest="fields",
        required=True,
        help="Fields to query; Enter in pipe-delimited format",
    )

  def handle(self, *args, **options):
    Model=      apps.get_model(app_label="my_app", model_name="MyModelName")
    print Model.objects.values(tpl(fields.split('|')))
这给了我一个错误:
AttributeError:“tuple”对象没有属性“split”

选项
fields
是我要查询的列字符串,由管道字符分隔。所以它看起来像“col1 | col2”。如何通过这个自定义Django命令行进程查询这些字段?

您需要在此处使用参数。将最后一行更改为

print Model.objects.values(*options['fields'].split('|'))
请注意,您需要正确引用命令行参数,因为管道字符在终端中具有特殊意义

python manage.py yourcommand--fields=“col1 | col2”