python django 自动数据添加
我有一个脚本,它可以从一个csv文件中读取数据。我需要把这些数据存储到一个已经创建好的数据库里,
这个数据库是通过运行命令 $ python manage.py syncdb 创建的。
这样做是为了让数据的自动录入变得更简单,就像在django的命令行界面里那样。
1 个回答
1
你需要先设置一个django环境,这样你的脚本才能使用django模型,就像在“真实”的网站上一样:
最简单的方法是设置一个叫做DJANGO_SETTINGS_MODULE的环境变量(比如说 export DJANGO_SETTINGS_MODULE=mysite.settings
)。这样你的脚本就可以做一些事情,比如:
from app.models import MyModel
a = MyModel(field=value)
a.save()
还有其他一些方法,需要在你的脚本中写一些额外的代码,我更喜欢这些方法,因为它们不需要环境变量:
1) setup_environ:
from django.core.management import setup_environ
import mysite.settings
setup_environ(mysite.settings)
2) 在流程中创建设置:
from django.conf import settings
settings.configure(DEBUG=False, DATABASE_NAME="mydb", ...)