[django基础] 05-MTV - Model

Model

  • 开发的第一步, 数据模型的构建

ORM

Object relational mapping 对象关系映射
解耦: 数据库 - 业务逻辑

Model --> ORM(->不同的sql) --> Databade

Django定义模型

  • 数据库的数据类型

  • django默认生成自增的主键

  • 命名: 不允许使用 连续的下划线

  • 逻辑删除, 不做物理删除

  • 字段类型

    • AutoField 根据实际id 自动增长的IntegerField
    • CharField 字符串Text
    • TextField 大文本字段
    • IntegerField 整数
    • DecimalField 高精度浮点型
    • FloatField
    • BooleanField True Flase
    • NullBooleanField True Flase Null
    • DateField 日期
    • TimeField 时间
    • DateTimeField 日期时间
    • FileField 文件上传字段(文件路径)
    • ImageField 图片 继承FileField, 增加校验:是否是图片
  • 字段选项(字段属性)

    • null 允许为空值 默认 F
    • blank 允许为空 默认 F
    • db_column 字段名
    • db_index 是否建立索引
    • default 默认值
    • primary_key 主键
    • unique 是否唯一
  • 关系

    • 分类
      • ForeignKey
      • ManyToManyField
      • OneToOneField
  • 元信息

    • 类中类
使用
from django.db import models

# Create your models here.

class Person(models.Model):
    p_name = models.CharField(max_length=16, unique=True,db_column='name')
    p_age = models.IntegerField(default=0,db_column='age')
    p_sex = models.NullBooleanField(default=None,db_column='sex')

    class Meta:
        db_table = 'Django_People'

模型成员objects

    • get
    • all
    • filter :返回符合筛选条件的数据集
    • exclude :返回符合筛选条件的数据集
      • person.objects.filter(xx).filter(xx).exclude(xxx)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值