与this question的作者一样,我有一个现有的Django网络应用程序,我想定期上传新数据 - 在我的情况下每月一次。
我知道我可以(如前面的答案所示)将我的数据转换为灯具,然后使用Django' in-built fixture support来导入它。
但这并不是对的 - 它不是初始的"数据,它将定期上传的新数据。将其转换为固定装置感觉就像一个不必要的开销,整体方法感觉更适合初始数据而不是常规新数据。
目前,我的项目根目录中只有一个Python脚本,每月解析一次CSV文件,并使用Django ORM将其直接保存到数据库中。我每月运行一次。像这样:
from models import Presentation
mydata = csv.DictReader(open('Jan2015.csv', 'rU'))
for row in mydata:
p = Presentation(id=row['id'], name=row['name'])
p.save()
这对我来说感觉还可以,但有更好的方式/更多的Django-y做事方式吗?