时间:2017-05-07
一,数据库导入
1) ,同步数据库,创建相应的表
python manage.py syncdb
2),输入python manage.py shell
进入该项目的django环境终端
1. $python manage.py shell
2. >>> from blog.models import Blog
3. >>>Blog.objects.create(title="The first blog of my site",content="I am writing my blog on Terminal")
这样就新增了一篇博文,我们来查看一下
>>>blog2 = Blog()
>>>blog2.title = "title2"
>>>blog2.content = "content2"
>>>blog2.save()
或者
>>>blog2 = Blog(title="title2",content="content2")
>>>blog2.save()
3),导入数据重复解决方法
将 Blog.objects.create(title=title,content=content)
替代成 Blog.objects.get_or_create(title=title,content=content)
4),用fixture 导入
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}]
二,数据迁移
1)简单的数据导出与导入
1,django项目提供了一个导出的方法
python manage.py dumpdata[appname]>appname_data.json
当不指定appname时默认是认为导出所有的app
2,比如我们有一个项目叫 mysite, 里面有一个 app 叫 blog ,我们想导出 blog 的所有数据
python manage.py dumpdata blog > blog_dump.json
3,数据导入,不需要指定 appname
python manage.py loaddata blog_dump.json
4,备注:一些常用的
python manage.py dumpdata auth > auth.json # 导出用户数据
2)数据库的迁移
1,从原来的整个数据库导出所有的数据
python manage.py dumpdata > mysite_all_data.json
2,将mysite_all_data.json传送到另一个服务器上
python manage.py loaddata mysite_all_data.json