django初始化数据

django1.6及之前可以在app下新建fixtures目录,并在目录下新建initial_data.json文件,在执行python manage.py syncdb时会自动json中的数据初始化到数据库中。…

django1.7以后开始弃用syncdb。如果你在django1.6之前使用过fixtures功能,你应该知道每次使用syncdb时fixtures数据都会自动执行一遍。这点是不合理的,因此django1.7以后将此功能分出来了。初始化数据处理方法修改为:

1.在项目中新建fixtures目录,并在该目录下新建数据文件initial_data.json格式如下
[
{
“model”: “act.user”,
“pk”: 1,
“fields”: {
“username”: “xiaoming”,
“password”:“11111”
}
},
{
“model”: “act.user”,
“pk”: 2,
“fields”: {
“username”: “dabai”,
“password”:“2222”
}
}
]

  1. 在settings.py中设置fixtures的目录,如:

FIXTURE_DIRS = (os.path.join(BASE_DIR,‘fixtures’,),) #注意两个’,’

3.执行python manage.py loaddata initial_data.json

可能的错误:
1.json文件中model名称要写对
2.该表中不能为空的字段 一定要添加数据

你可能感兴趣的:(django初始化数据)