Python 如何使用命令行选项运行`Model.objects.values()`?
在Django中,我正在生成一个名为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,
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”