django导入mysql_Django: 之数据库导入、迁移和联用

本文介绍了如何在Django中导入数据,包括从txt文件批量导入、使用fixture和`bulk_create()`方法。还讨论了数据迁移,包括Django自带的命令和数据库自身的导出导入命令。最后,展示了如何在Django项目中实现多数据库的联用,并提供了数据库导入导出的命令示例。
摘要由CSDN通过智能技术生成

Django 数据库导入

从网上下载的一些数据,excel表格,xml文件,txt文件等有时候我们想把它导入数据库,应该如何操作呢?

以下操作符合 Django版本为 1.6 ,兼顾 Django 1.7, Django 1.8 版本,理论上Django 1.4, 1.5 也没有问题,没有提到的都是默认值

备注:你可能会问数据从哪儿来的,比如你用python从以前的blog上获取过来的,想导入现在的博客,或者别人整理好的数据,或者你自己整理的excel表,一个个地在网站后台复制粘贴你觉得好么?这就是批量导入的必要性。

建议先不要看源码,按教程一步步做下去,遇到问题再试试源代码,直接复制粘贴,很快就会忘掉,自己动手打一遍

我们新建一个项目mysite,在新建一个app,名称为blog

django-admin.py startproject mysite

cd mysite

python manage.py startapp blog

把blog中的models.py更改为一下内容

#!/usr/bin/python

#coding:utf-8

from django.db import models

class Blog(models.Model):

title = models.CharField(max_length=100)

content = models.TextField()

def __unicode__(self):

return self.title

不要忘了把blog加入到settings.py中的INSTALLED_APPS中。

# Application definition

INSTALLED_APPS = (

...

# 添加上 blog 这个 app

'blog',

)

一、同步数据库,创建相应的表

python manage.py syncdb

Django 1.6以下版本会看到:

6095a1107af793500a14014d6137b70d.png

Django创建了一些默认的表,注意后面哪个红色标记的blog_blog是appname_classname的样式,这个表是我们自己写的Blog类创建的

Django 1.7.6及以上的版本会看到:(第六行即创建了对应的blog_blog表)

Operations to perform:

Synchronize unmigrated apps: blog

Apply all migrations: admin, contenttypes, auth, sessions

Synchronizing apps without migrations:

Creating tables...

Creating table blog_blog

Installing custom SQL...

Installing indexes...

Running migrations:

Applying contenttypes.0001_initial... OK

Applying auth.0001_initial... OK

Applying admin.0001_initial... OK

Applying sessions.0001_initial... OK

You have installed Django's auth system, and don't have any superusers defined.

Would you like to create one now? (yes/no): yes

Username (leave blank to use 'tu'): wulaoer

Email address:

Password:

Password (again):

Superuser created successfully.

二、输入python manage.py shell

进入该项目的django环境的终端(windows如何进入对应目录?看Django环境搭建的3.2部分)

先说说如何使用命令新增一篇文章:

$ python manage.py shell

>>> from blog.models import Blog

>>> Blog.objects.create(title="The first blog of my site",

content="I am writing my blog on Terminal")

这样就新增了一篇博文,我们查看以下

>>> Blog.objects.all() # 获取所有blog

[]

还有两种方法(这两种差不多):

>>> blog2 = Blog()

&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值