Django模型


前言


一、models字段类型

1.概述

django根据属性的类型确定以下信息
当前选择的数据库支持字段的类型渲染管理表单时
使用的默认html控件在管理站点最低限度的验证django会为表增加自动增长的主键列,
每个模型只能有一个主键列,
如果使用选项设置某属性为主键列后则django不会再生成默认的主键列

2.属性命名限制

遵循标识符规则
由于django的查询方式,不允许使用连续的下划线
定义属性时,需要字段类型,
字段类型被定义在django.db,models.fields目录下,为了方便使用被导入到django.db.models中

3.使用方式

导入from django.db import models
通过models.Field创建字段类型的对象,赋值给属性

4.逻辑删除和物理删除

对于重要数据都做逻辑删除,不做物理删除,
实现方法是定义is_delete属性,类型为BooleanField默认值为False
is delete = models.BooleanField(default=False)

5.常用字段类型

AutoField
CharField
TextField
IntegerField
DecimalField
DecimalField.max digits
DecimalField.decimal places
  1. AutoField
    一个根据实际ID自动增长的IntegerField,通常不指定,如果不指定,主键字段id将自动添加到模型中
  2. CharField(maxlength=字符长度).
    字符串,默认的表单样式是 Input
  3. TextField
    ·大文本字段,一般超过4009使用,默认的表单控件是Textarea
  4. IntegerField
    ·整数
  5. DecimalField(max digits=None,decimal places=None)
    ·使用python的Decima1实例表示的十进制浮点数
    参数说明
  6. DecimalField.max digits
    ·位数总数
  7. DecimalField.decimal places
    ·小数点后的数字位数
  8. BooleanField
    ·True/False 字段,此字段的默认表单控制是CheckboxInput
  9. FloatField
    ·用Python的float实例来表示的浮点数
  10. DateField([auto now=False,auto now add=False])·使用Python的datetime.date实例表示的日期
    参数说明
  11. DateField.auto now
    自动设置该字段为当前时间,用于"最后一次修改”的时间戳,它总是使用当前日期每次保存对象时,默认为false
  12. DateField.auto now add
    ·当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用创建时的日期,默认为false
    注意:auto_now_add,auto now,and default 这些设置是相互排斥的他们之间的任何组合将会发生错误的结果
  13. TimeField
    ·使用Python的datetime.time实例表示的时间,参数同DateField
  14. DateTimeField
    ·使用Python的datetime.datetime实例表示的日期和时间,参数同DateField
  15. FileField
    .一个上传文件的字段
  16. ImageField
    继承了FileField的所有属性和方法,但对上传的对象进行校验,确保它是个有效的image
    需要安装Pillow:“pip install Pillow”

二、常用字段参数

1.

三、models基本操作

四、多模块关联关系

五、model连表结构

1、一对多关联

2、多对多关联

3、一对一关联


附录

1、配置Mysql

总结

23/09/26 - 未完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值