Я использую Django 2.2 и хочу написать, чтобы добавить настраиваемую задачу (для приложения), которая загружает фикстуры в таблицы базы данных.
Это то, что у меня есть:
from django.core.management.base import BaseCommand
from django.core import management
class Command(BaseCommand):
help = 'Generate Capture Data from loaded fixtures'
def add_arguments(self, parser):
parser.add_argument('definitions', type=str, help='Name of the definitions fixtures file', default='definitions.json')
parser.add_argument('sections', type=str, help='Name of the sections fixtures file', default='sections.json')
parser.add_argument('questions', type=str, help='Name of the questions fixtures file', default='questions.json')
def handle(self, *args, **kwargs):
print(kwargs)
Однако, когда я запускаю python manage.py generate_data
, я получаю следующее исключение:
usage: manage.py generate_data [-h] [--version] [-v {0,1,2,3}]
[--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color]
definitions sections questions
manage.py generate_data: error: the following arguments are required: definitions, sections, questions
Почему значения по умолчанию, которые я предоставляю для add_arguments()
, игнорируются?