Django 自动导入manage.py shell中的所有db表
在输入提示时,是否有一个片段或简单的方法来导入所有django表 例如,我的命令通常是这样的:Django 自动导入manage.py shell中的所有db表,django,Django,在输入提示时,是否有一个片段或简单的方法来导入所有django表 例如,我的命令通常是这样的: >>> from userprofile.models import Table >>> Table.objects... 这样,只要输入提示符,就已经导入了表。谢谢。您可以这样做: >>> from django.conf import settings >>> for app in settings.INSTALLED_AP
>>> from userprofile.models import Table
>>> Table.objects...
这样,只要输入提示符,就已经导入了表。谢谢。您可以这样做:
>>> from django.conf import settings
>>> for app in settings.INSTALLED_APPS:
... module = __import__(app)
... globals()[module.__name__] = module
...
不过,您将获得完全限定的名称userprofile.models.Table
而不是Table
添加了manage.py
的命令,该命令正是这样做的
from django.db.models import get_models
for _class in get_models():
globals()[_class.__name__] = _class
在这里,所有已安装的模型都可以在全球范围内使用,并使用它们的类名引用它们。阅读django.db.models.get_models的文档,了解更多信息:
定义:获取模型(self、app\u mod=None、include\u auto\u created=False、include\u deferred=False)
文档字符串:
给定包含模型的模块,返回模型列表。
否则,返回所有已安装型号的列表
默认情况下,自动创建的模型(即没有
不包括显式中间表)。然而,如果你
指定include_auto_created=True,它们将为
默认情况下,为满足延迟属性而创建的模型
查询不包括在模型列表中。然而,如果
如果您指定include_deferred,则它们将被删除