Size: a a a

Django [ru] #STAY HOME

2021 February 27

AD

Alex Dem in Django [ru] #STAY HOME
Dmitry Koutsenko
а если выполнять прямо в коде?
я думаю, как-то можно, но не пробовал
источник

AD

Alex Dem in Django [ru] #STAY HOME
вероятно, оно даже из-под скрипта будет в отдельном процессе шелла крутиться
источник

AD

Alex Dem in Django [ru] #STAY HOME
в этом случае, в апи явно должны были вкрутить чтение stdout
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dmitry Koutsenko
а если выполнять прямо в коде?
management.call_command('flush', verbosity=0, interactive=False)

из оффдока

https://docs.djangoproject.com/en/3.1/ref/django-admin/#django.core.management.call_command
источник

AD

Alex Dem in Django [ru] #STAY HOME
т.е. просто отключают интерактив моде и все
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
круто, спасибо большое
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
мне стыдно что такие простые вопросы задаю) но и сварщик не настоящий. api-сервис себе делаю
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dmitry Koutsenko
круто, спасибо большое
однако тут же указывают про возможность менеджмента stdout

with open('/path/to/command_output', 'w') as f:
   management.call_command('dumpdata', stdout=f)

короче, явно можно, но надо самому повозиться если нужен интерактив (но так ли нужен, особенно в апи?)
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
не нужен, это будет rest api ручка, по вызову которой база будет обнуляться
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dmitry Koutsenko
не нужен, это будет rest api ручка, по вызову которой база будет обнуляться
ну вот, тогда задача выполнена)
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
ага, супер!
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
флаш затирает суперпользователя, но это я уже нашел как создавать
from django.contrib.auth import get_user_model
User = get_user_model()
User.objects.create_superuser('admin', 'admin@myproject.com', 'password')
источник

AD

Alex Dem in Django [ru] #STAY HOME
кстати, если бы в джанге не было бы такого сахара
источник

AD

Alex Dem in Django [ru] #STAY HOME
всегда есть subprocess под такие задачи
источник

AD

Alex Dem in Django [ru] #STAY HOME
https://docs.python.org/3/library/subprocess.html

если можешь в терминале, то, скорее всего, сможешь и в сабпроцесс
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
прикольная штука. правда, видимо, привязывает к определенной операционке. подойдет если готовый докер образ собирать
источник

AD

Alex Dem in Django [ru] #STAY HOME
"привязывает к определенной операционке."
да вроде бы нет..
просто "окошко" из питоновского скрипта в терминал ОС
источник

AD

Alex Dem in Django [ru] #STAY HOME
"подойдет если готовый докер образ собирать"
не пробовал, но не думаю, что будут проблемы
источник

DK

Dmitry Koutsenko in Django [ru] #STAY HOME
криво выразился, но там получается надо быть готовым именно к окружению той ОС из которой запустились. мак\винда\линь
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dmitry Koutsenko
криво выразился, но там получается надо быть готовым именно к окружению той ОС из которой запустились. мак\винда\линь
а, это да :)
источник