Python3 --- Django创建模型

本文介绍了Django中的Model,它是数据处理层,负责与数据交互。Django采用ORM框架,允许开发者专注于代码而无需关注数据库。文章详细阐述了Model的创建,包括字段类型、字段参数、表级关系、元选项和管理器。此外,还讲解了如何生成和执行迁移文件以创建数据库表。
摘要由CSDN通过智能技术生成

一、Model的作用

在Django的框架设计中采用了MVT模型,即Model,Viewer,Template


Model相对于MVC框架来说就相当对数据处理层,它主要负责与数据的交互,在使用Django框架设计应用系统时,需要注意的是Django默认采用的是ORM框架中的codefirst模型,即面向对象的开发方式(如Hibernate),也就是说开发人员只需要专注于代码的编写,而不需要过多的关注数据库层面的东西,把开发人员从数据库中解放出来


Django会根据Model类生成一个数据库镜像文件,然后再使用该镜像文件生成数据库,同时该文件将记录与数据库同步版本的变化,所以在使用Django进行开发时不要手工去修改数据库,这样会造成Django框架的版本记录不正确,从而无法正确的同步数据模型与数据库的内容


二、Model的创建

创建项目完成后,会生成settings.py文件,用于配置项目相关信息,此处可以修改数据库配置,本例使用mysql数据库

创建应用完成后,会生成models.py文件,此处用于创建Model,如下:

from django.db import models

# 定义模型
class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)
    bput_date = models.DateTimeField(db_column='pub_date')
    bread = models.IntegerField(default=0)
    bcommet = models.IntegerField(null=False)
    isDelete = models.BooleanField(default=False)

# 定义模型
class HeroInfo(models.Model):
    hname = models.CharField(max_length=10)
    hgender = models.BooleanField(default=True)
    hcontent = models.CharField(max_length=1000)
    isDelete = models.BooleanField(default=False)
    hBook = models.ForeignKey(BookInfo, on_delete=models.CASCADE)


2.1、Model字段类型

字段类型被定义在django.db.models.fields目录下,字段类型包含如下:

  • AutoField:一个根据实际ID自动增长的IntegerField,通常不指定,如果不指定,一个主键字段将自动添加到模型中
  • BooleanField:true/false 字段,此字段的默认表单控制是CheckboxInput
  • NullBooleanField:支持null、true、false三种值
  • CharField(max_length=字符长度):字符串,默认的表单样式是 TextInput
  • TextField:大文本字段,一般超过4000使用,默认的表单控件是Textarea
  • IntegerField:整数
  • FloatField:用Python的float实例来表示的浮点数
  • TimeField:使用Python的datetime.time实例表示的时间,参数同DateField
  • DateTimeField
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值