首页>>后端>>Python->django如何换数据库表(Django数据库迁移)

django如何换数据库表(Django数据库迁移)

时间:2023-12-06 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django如何换数据库表的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

如何将django中的sqlite3换成mysql

django

数据库使用(sqlite3和mysql)

一、sqlite3

使用

1、import

sqlite3

确认系统中是否安装

2、进入当前项目目录,cmd后运行python,进入命令行模式

3、import

sqlite3,

sqlite3.connect('{path\name.db}')

#大括号内表示自定义,真实情况没有大括号

4、修改settings.py文件

DATABASES

=

{

'default':

{

'ENGINE':

'django.db.backends.sqlite3',

'NAME':

{path\name.db}',

'USER':

'',

'PASSWORD':

'',

'HOST':

'',

'PORT':

'',

}

}

5、进入数据库文件界面,运行python

manage.py

shell

from

django.db

import

connection

cur

=

connection.cursor()

如果没报错,则表示配置成功

6、修改models.py文件,配置自己的表

例如:

from

django.db

import

models

from

django.contrib

import

admin

#

Create

your

models

here.

class

BlogPost(models.Model):

title

=

models.CharField(max_length

=

150)

body

=

models.TextField()

timestamp

=

models.DateTimeField()

class

Meta:

ordering

=

['-timestamp']

7、创建数据库内容

python

manage.py

syncdb

根据提示输入,表示连接成功

注:以上只表示对数据库的创建,连接和使用,不包含其它内容。

二、mysql

1、确认安装mysql数据库

2、在mysql中创建数据库

命令模式下可以使用

CREATE

DATABASE

{name}

DEFAULT

CHARSET=utf8;

3、修改settings.py文件

DATABASES

=

{

'default':

{

'ENGINE':

'django.db.backends.mysql',

'NAME':

'{name}',

'USER':

'{username}',

'PASSWORD':

'{password}',

'HOST':'localhost',

#ip

'PORT':'3306',

}

}

4、修改models.py文件,配置自己的表

例如:

from

django.db

import

models

from

django.contrib

import

admin

#

Create

your

models

here.

class

BlogPost(models.Model):

title

=

models.CharField(max_length

=

150)

body

=

models.TextField()

timestamp

=

models.DateTimeField()

class

Meta:

ordering

=

['-timestamp']

5、创建数据库内容

python

manage.py

syncdb

根据提示输入,表示连接成功

django1.8更改了model后要怎样重建数据库

目前到django1.7 为止

修改model的前提是:你已经创建完model,并且已经 使用 syncdb 或 migrate 创建了相应的数据库表。

然后再 修改model,不会对数据库表产生任何修改的。

具体的东西,自己去看 Django 相应版本的文档去吧

不同版本,不太一样。

Django教程-02连接初始化数据库

Django教程——01安装使用

在上面一篇文章里,介绍了安装Django的方法,这里说说连接数据库吧

这篇主要介绍踩的坑和解决办法

正常连接和初始化数据库的命令是

执行这个命令的时候,出现了如下报错

经过一段排查,是我配置数据库的时候,多嵌套了一层default,修改为如下即可

然后继续执行migrate时,会报如下错误

本机环境是mac电脑,按官方教程操作的时候,发现安装mysqlclient的python包会依赖本机安装mysql或者mysql-client,但在装mysql和mysql-client的时候,发现一直报错。后面发现解决办法是,在settings.py文件里,加下如下代码,即改用pymsql连接即可。

或者在settings.py同目录的__init__.py里加如上代码也可以

然后再执行python manage.py migrate命令会发现表顺利创建。新增表,不影响原有库的其他表。

结语:以上就是首席CTO笔记为大家介绍的关于django如何换数据库表的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/15806.html