django模型类(五)

一. 模型类

准备工作:
a.安装mysql数据库(linux或者windows)
b. 在django的虚拟环境中使用 pip install mysqlclient(也可以安装pymysql,不过后续需要配置)
c. 在全局settings.py配置中配置数据库相关信息
在这里插入图片描述

1.定义一个模型类

a. 一个mysql软件中,可以有多个数据库
b. 一个数据库中,可以有多张数据表
c. 一张数据表中,有多条数据(多条记录)以及多个字段(多个列)
d. 一个数据模型类对应一个数据表
e. 数据模型类,需要继承Model父类或者Model子类
f. 在数据模型类中,添加的类属性(Field对象)来对应数据表中的字段

from django.db import models

# Create your models here.

class Projects(models.Model):
    # 1、只要某一个字段中primary_key=True,那么Django就不会自动创建id字段,会使用自定义的
    # 2、CharField -> varchar   IntegerField -> int   TextField -> text
    id = models.AutoField(primary_key=True)
    # 3、verbose_name为个性化信息
    # 3、help_text帮助文本信息,在api接口文档平台和admin后端站点中会用于提示,往往跟verbose_name一致
    # 4、unique用于指定唯一键,默认为False
    # 5、CharField至少要指定一个max_length必传参数,代表此字段的最大长度,不能为负数
    name = models.CharField(max_length=200, verbose_name='项目名称', help_text='项目名称', unique=True)
    leader = models.CharField(max_length=50, verbose_name='项目负责人', help_text='项目负责人')
    tester = models.CharField(max_length=50, verbose_name='测试人员', help_text='测试人员')
    programmer = models.CharField(max_length=50, verbose_name='开发人员', help_text='开发人员')
    # 6、null指定数据在保存时是否可以为空,默认不能为空,如果null=True,那么可以为空值
    # 7、blank指定前端用户在创建数据时,是否需要传递,默认需要传递,如果不传递,需要blank设置为True
    # 8、default为某一个字段指定默认值,往往会跟blank一起使用
    desc = models.TextField(verbose_name='项目简介', help_text='项目简介', blank=True, default='xxx简介', null=True)

    # 9、DateTimeField可以添加auto_now_add选项,django会自动添加创建记录时的时间
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', help_text='创建时间')
    # 10、DateTimeField可以添加auto_now选项,django会自动添加更新记录时的时间
    update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', help_text='更新时间')

    # 11、执行迁移脚本之后,生成的数据表名默认为 子应用名_模型类名小写
    class Meta:
        # 12、可以在模型类下定义Meta子类,Meta子类名称固定
        # 13、可以使用db_table类属性,来指定表名
        db_table = 'tb_projects'
        # 14、指定表的个性化描述
        verbose_name = '项目表'

    def __str__(self):
        return f"<{self.name}>"
2.迁移数据库

a. 执行迁移命令:
在这里插入图片描述
b.迁移完成后会生成的迁移脚本

在这里插入图片描述
c.,并在数据库生成对应的表
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值