python django 自动数据添加

1 投票
1 回答
678 浏览
提问于 2025-04-15 21:43

我有一个脚本,它可以从一个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", ...)

撰写回答