上一篇:https://blog.csdn.net/m0_73991249/article/details/145133561?spm=1001.2014.3001.5501

讲了【app模块化】+【url路由】

这一篇讲连接数据库的model层

一、连接数据库

1、创建APP模块

还是一样【python manage.py startapp <你的app模块名称>】来创建一个app

        因为我们通常是一个模块APP链接一个数据库的,打个比方网易云音乐这个项目,它的“音乐模块”连“音乐相关的数据库”、“笔记模块”连“笔记相关数据库”、“网易商城模块”连“商城相关数据库”,不可能全混在一起的

然后添加到主模块的setting.py里注册

2、下载管理mysql数据库的工具

【pip install mysqlclient】

3、创建数据库并在models.py对于编写

先到数据库创建一个数据库

然后依旧回到主项目里的【setting.py】配置mysql相关配置信息

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "你创建的数据库的名字",
        "USER": "root",
        "PASSWORD": "123456",
        "HOST": "localhost",
        "PORT": "3306",
    }
}

然后到刚刚创建的模块app下的【models.py】写代码

这个文件就是专门创建【数据表对象】的,写好的对象可以后续直接生成一个【数据表】

然后创建表的代码我就不细讲了,给个示例就看懂了

from django.db import models
from datetime import datetime

# 开始创建我们的数据库表对象
class User(models.Model):
    # id = models.AutoField(primary_key=True) # 但其实主键可以不写
    username = models.CharField(max_length=20, unique=True, verbose_name="用户名")
    password = models.CharField(max_length=20, verbose_name="密码")
    phone = models.CharField(max_length=20, verbose_name="电话")
    register_time = models.DateTimeField(auto_now_add=True)


    # 这个是设置表名
    # 如果不设置,创建表的时候就默认是:“数据库名_表对象名”
    # 比如:“myapp_User”
    class Meta:
        db_table = "user"

4、迁移数据表

最后,我们只需要两步就可以生成对应的数据表了

注意,前面setting.py的INSTALLED_APPS那块注册了很多django自带的数据表,如果我们不注释,再生成我们自己的数据表的同时会把这些数据表也生成,注释了就不会

迁移完再把注释去掉,因为还有很多文件带着这几个模块,启动要用到

;

  • 第一步:生成django的迁移文件
    • models.py只是创建一个数据表对象,但是这个格式不能直接转化成mysql的表,要靠迁移文件
    • 【python manage.py makemigrations】
  • 第二步:迁移生成
    • 【python manage.py migrate】

二、对数据增删改查操作

那么有了数据表之后,我们的增删改查操作就是在【views.py】操作了

我就不一一记录了,只记录【插入数据】的示例

依旧是路由分发一条龙服务

然后我们在【views.py】导入【models.py】的数据表对象

然后下图我绿色框的地方就是插入,就是给一个对象赋值这么简单,其他的操作AI一下就行了,我也是AI搜的,根本没人记

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐