계층 구조의 지정된 모델 바로 아래에있는 모든 파이썬 모듈을 나열하는 방법이 있습니까?계층의 특정 모듈 아래에있는 모든 모듈을 가져 오는 방법이 있습니까?
내가 천천히 성장하고 장고 웹 응용 프로그램을 가지고, 나는이 기사에 기반을 다시 정리했습니다 그러나
http://paltman.com/2008/01/29/breaking-apart-models-in-django/
, 나는 개선하기 위해 노력하고있어 그의 기술을 사용하여 모듈 초기화 파일 (__ init __.py)에서 인트로 스펙 션을 사용하여 하위 작업에서 장고 모델 클래스의 모든 인스턴스를 자동 감지합니다. 이런 종류의 작업이 가능하지만 여전히 작동하려면 트리 위의 정적 모듈 목록이 필요합니다.
from django.db.models.base import ModelBase
from sys import modules
moduleList = ['TechTree', 'PilotAbilities']
__all__ = []
for moduleName in moduleList:
fullyQualifiedModuleName = '%s.%s' % (__name__, moduleName)
moduleObj = __import__(fullyQualifiedModuleName)
__all__ += [item for item in dir(moduleObj) if isinstance(getattr(moduleObj, item), ModelBase)]
약간 어색하지만 가능한 유일한 옵션 일 수 있습니다 (다른 응답이없는 경우). –