最近有一个需求,需要使用Django的ORM。众所周知,可以使用python manage.py shell在Django shell中使用,但是这次的场景中需要的代码量比较大,所以用Django shell很不方便。

其实,在python脚本中导入Django的环境即可使用当前的Django ORM。

比如,我们的脚本和manage.py在同级目录下。我们Django Project叫demo,可以使用如下脚本来导入Django环境。

import os
import sys
sys.path.append("../")
from django.core.management import setup_environ
import demo.settings
setup_environ(demo.settings)

之后即可导入models使用ORM了,例如导入app test中的User模型。

from test.models import User