简体   繁体   English

python django自动数据添加

[英]python django automated data addition

I have a script which reads data from a csv file. 我有一个脚本,可从csv文件读取数据。 I need to store the data into a database which has already been created as 我需要将数据存储到已经创建为的数据库中

$ python manage.py syncdb $ python manage.py syncdb

so, that automated data entry is possible in an easier manner, as available in the django shell. 因此,可以像django shell中那样以更简单的方式自动输入数据。

You have to set up a django environment to use in your script, afterwards your python script can work with django models just as in the 'real' site: 您必须设置一个在脚本中使用的django环境,之后,您的python脚本就可以在django模型中使用,就像在“真实”站点中一样:

The easiest way to do this: set the DJANGO_SETTINGS_MODULE environment variable (eg export DJANGO_SETTINGS_MODULE=mysite.settings ). 最简单的方法是:设置DJANGO_SETTINGS_MODULE环境变量(例如export DJANGO_SETTINGS_MODULE=mysite.settings )。 Then your script can do things like: 然后您的脚本可以执行以下操作:

from app.models import MyModel

a = MyModel(field=value)
a.save()

There are also some other ways, where you have to write some additional code in your script, I prefer these because they do not require an environment variable: 还有其他一些方法,您必须在脚本中编写一些其他代码,我更喜欢这些方法,因为它们不需要环境变量:

1) setup_environ: 1)setup_environ:

from django.core.management import setup_environ
import mysite.settings
setup_environ(mysite.settings)

2) Create settings on the flow: 2)在流程上创建设置:

from django.conf import settings
settings.configure(DEBUG=False, DATABASE_NAME="mydb", ...)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM