Django-05.数据库与连接与增删查改

本文详细介绍了Django中配置数据库连接、创建和修改数据表、以及实现增删查改(CRUD)的基本步骤。通过修改settings.py、models.py文件,使用makemigrations和migrate命令同步数据库,以及在views.py中编写相关视图实现数据操作。内容涵盖了添加、修改、查询和删除数据的多种方法。

1.数据库组件配置

如果你的数据库连接报错,缺少组件,可以安装以下的包
安装依赖(如果使用虚拟环境,需要在虚拟环境下安装)
安装mysql开发依赖包

sudo apt-get install libmysqlclient-dev gcc

配置mysql_config(如果使用虚拟环境,需要在虚拟环境下安装)
sudo updatedb
locate mysql_config
pip install MySQL-python

配置settings

配置mysql的连接
新建一个mydbop app
在manage.py shell中输入
python manage.py startapp mydbop

2.配置文件的修改

修改setting.py文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',                    
        'HOST': "localhost",                                                
        "PORT": 3306,                                                        
        "USER": "admin",                                                      
        "PASSWORD": "Root110qwe",                                        
        "NAME": "mydb"                                                    
    }
}

将对应的app添加至settings中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mydbop'
]

3.建表

编写对应的model
在每个app中都有对应的models.py文件,我们可以在里面定义你需要的models
models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models

# Create your models here.

class UserMessage(models.Model):
    name = models.CharField(max_length=50)
    phone_num = models.CharField(max_length=50)

生成对应的migrations文件
python manage.py makemigrations mydbop

迁移同步
python manage.py migrate mydbop


这里写图片描述


ps: 一套对应生成的migrations文件与数据库需保存一致,否则系统会报错!!!
ps: 需要对数据库表的操作都需要models.py,然后走对应的migrate流程,不能直接在数据库中修改数据
1、一但将生成的migrations文件通过migrate命令同步至数据库以后,被操作的migrations文件不能再操作
2、如何避免上面的情况:
(1)不要对已经生成好的migrations文件做任何操作
(2)所有对数据库的操作同一个人做,并保留好一套migrations文件
(3)不要直接在数据库中修改任何操作,比如修改字段,添加字段,删除字段等等;

4.改表

我们接着来修改表 我们给article增加一个字段
修改models.py文件

class UserMessage(models.Model):
    name = models.CharField(max_length=50)
    phone_num = models.CharField(max_length=50)
    id_card = models.CharField(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值