django-click
django-click copied to clipboard
call_command replacement
I'm trying to call a djclick based management command using the traditional Django API, django.core.management.call_command
and I'm getting this traceback:
Traceback (most recent call last):
File "_log.py", line 34, in <module>
call_command('sync_models')
File "/home/user/.cache/pypoetry/virtualenvs/ht-ZBbfQ9hA-py3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 135, in call_command
for group in parser._mutually_exclusive_groups
AttributeError: 'ArgumentParserAdapter' object has no attribute '_mutually_exclusive_groups'
I could do from myproject.myapp.management.commands.my_command import command
although the command I'm using is the grouping feature.
What would be the advised methodology to run the command in a programmatic fashion?
I had the issue #28. I solved it by using subprocess.Popen
.
import subprocess
(stdout, stderr) = subprocess.Popen(["python", "manage.py", "yourcommand"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
# assert something with stdout and stderr