离线脚本向django添加数据

当新开始一个项目时,数据库是空的,但我们又需要一些数据来测试效果,这时就可以用到离线脚本来达到初始化的目的,例如我的model中有topic,

我需要向topic中添加一些数据要怎么做呢?

一般情况下,我们有两种选择:

1. django自带的admin

2. 直接通过工具向数据库中写入数据

其中第一种比较慢,而第二种,如果涉及到复杂的表关系,很容易出错。

 

这里介绍第三种方式:离线脚本,简单说就是一个py文件:

我在项目根目录下创建一个scripts文件夹,创建一个init_topic文件:

import os
import sys
import django

base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)

# 将配置文件的路径写到 DJANGO_SETTINGS_MODULE 环境变量中
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "demos.settings")
django.setup()

from api import models


models.Topic.objects.create(title="春运")
models.Topic.objects.create(title="火车票")

显然,如果一个一个这样手写添加,还不如方法一或者方法二,但我们可以通过for循环添加。从而达到批量添加数据的目我。

上一篇:虚拟机中centos7设置固定ip

下一篇:微信小程序初始化数据