Можно ли получить информацию о django, не запуская его

У меня есть модель django, весь код завершен. но я хочу получить доступ к информации о моей модели. код вроде этого, чтобы получить имена полей.

for f in myModel._meta.fields:
    print(f.get_attname())

можно ли сделать это из внешнего скрипта python без запуска сервера django?

другие возможные автоматизированные способы сделать это и сохранить результаты в файл также приветствуются.

благодаря @klaus D и документации по командам управления я создал эту структуру

users/
    __init__.py
    models.py
    management/
        __init__.py
        commands/
            __init__.py
            _private.py
            modelInfo.py

и в modelInfo.py я сделал

from django.core.management.base import BaseCommand, CommandError
from users import views2
def savelisttxtfile(the_list, path_, type_='w', encoding="utf-8"):
    with open(path_, type_, encoding=encoding) as file_handler:
        for item in the_list:
            file_handler.write("{}\n".format(item))
class Command(BaseCommand):
    def handle(self, *args, **options):
        dic=[]
        for f in views2.ChertModel._meta.fields:
            print(f.get_attname())
            dic.append(f.get_attname())
        savelisttxtfile(dic,"F:\projects\sd.txt")

и для его запуска я зашел в manage.py location и выполнил python manage.py modelInfo, чтобы запустить его.

Что касается вашей "попытки1", кажется, что запустить оболочку python типа python manage.py shell немного сложнее, чем то, что вы там предлагаете.

К счастью, вы можете сделать следующее:

python manage.py shell < your_script.py

и ваш скрипт будет выполнен, как если бы он был набран непосредственно в "оболочке django". Помните, что вам все еще нужно импортировать ваши модели относительно вашего проекта, т.е. from myapp.models import mymodel.

Вернуться на верх