在輸入提示時是否有片段或簡單的方式導入所有的django表?自動導入manage.py shell中的所有數據表
例如,通常我的命令去是這樣的:
>>> from userprofile.models import Table
>>> Table.objects...
這樣一來,只要我進了提示,我已經導入了表。謝謝。
在輸入提示時是否有片段或簡單的方式導入所有的django表?自動導入manage.py shell中的所有數據表
例如,通常我的命令去是這樣的:
>>> from userprofile.models import Table
>>> Table.objects...
這樣一來,只要我進了提示,我已經導入了表。謝謝。
django-extensions爲manage.py
添加了shell_plus
命令,它完全是這樣做的。
你可以這樣做:
>>> from django.conf import settings
>>> for app in settings.INSTALLED_APPS:
... module = __import__(app)
... globals()[module.__name__] = module
...
你會得到,雖然完全合格的名稱; userprofile.models.Table
而不是Table
。
from django.db.models import get_models
for _class in get_models():
globals()[_class.__name__] = _class
這裏最後會列出所有可用的全球模型,並將它們與它們的類名一起引用。閱讀django.db.models.get_models
的文檔的更多信息:
定義:get_models(個體經營,app_mod =無,include_auto_created =假include_deferred = FALSE) 文檔字符串: 給出一個包含模型模塊,返回模型的列表。 否則返回所有安裝模型的列表。
默認情況下,不包括自動創建的模型(即沒有0顯式中間表的m2m模型)。但是,如果你指定了include_auto_created = True,他們將會是。
默認情況下,爲滿足延遲屬性 查詢而創建的模型是包含在模型列表中的而不是。但是,如果 指定了include_deferred,它們將會是。