目录
- from django.db import transaction
-
- try:
- with transaction.atomic():
- # sql 1
- # sql 2
- # 在with代码块内书写所有的orm操作
- # 这些操作都属于同一个事务
- except Exception as e:
- print(e)
- print('执行其他操作')
- AutoField
- # int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。
-
- IntegerField
- # 一个整数类型,范围在 -2147483648 to 2147483647。
-
- CharField
- # 字符类型,必须提供max_length参数, max_length表示字符长度。
-
- DateField
- # 日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。
- DateTimeField
- # 日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例
-
- BigAutoField(AutoField)
- # - bigint自增列,必须填入参数 primary_key=True
-
- SmallIntegerField(IntegerField):
- # - 小整数 -32768 ~ 32767
-
- PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField)
- # - 正小整数 0 ~ 32767
-
- BigIntegerField(IntegerField):
- # - 长整型(有符号的) -9223372036854775808 ~ 9223372036854775807
-
- BooleanField(Field)
- # - 布尔值类型
- True/False 1/0
-
- name varchar(1024)
- content text;
-
- TextField(Field)
- # - 文本类型
-
- FileField(Field)
- # - 字符串,路径保存在数据库,文件上传到指定目录
- '''- 参数:
- upload_to = "" 上传文件的保存路径
- storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
- '''
- ImageField(FileField)
- # - 字符串,路径保存在数据库,文件上传到指定目录
- '''
- - 参数:
- upload_to = "" 上传文件的保存路径
- storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
- '''
-
- TimeField(DateTimeCheckMixin, Field)
- # - 时间格式 HH:MM[:ss[.uuuuuu]]
-
- FloatField(Field)
- # - 浮点型
-
- DecimalField(Field)
- # - 10进制小数
- '''
- - 参数:
- max_digits,小数总长度
- decimal_places,小数位长度
- '''
- BinaryField(Field)
- # - 二进制类型
- null
-
- # 用于表示某个字段可以为空。
-
- **unique**
-
- # 如果设置为unique=True 则该字段在此表中必须是唯一的 。
-
- **db_index**
-
- # 如果db_index=True 则代表着为此字段设置索引。
-
- **default**
-
- # 为该字段设置默认值。
-
- DateField和DateTimeField
-
- auto_now_add
-
- # 配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。
-
- auto_now
-
- # 配置上auto_now=True,每次更新数据记录的时候会更新该字段。
- ForeignKey
-
- to
- # 设置要关联的表
- to_field
- # 设置要关联的表的字段
-
- related_name
- # 反向操作时,使用的字段名,用于代替原反向查询时的’表名_set’。
-
- on_delete
- # 当删除关联表中的数据时,当前表与其关联的行的行为。
- models.CASCADE
- # 删除关联数据,与之关联也删除
-
- models.DO_NOTHING
- # 删除关联数据,引发错误IntegrityError
-
- models.PROTECT
- # 删除关联数据,引发错误ProtectedError
-
- models.SET_NULL
- # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空)
-
- models.SET_DEFAULT
- # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值)
-
- models.SET
- # 删除关联数据,
- a. 与之关联的值设置为指定值,设置:models.SET(值)
- b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
-
- db_constraint
- # 是否在数据库中创建外键约束,默认为True。
-
- OneToOneField(unique):ForeignKey(unqiue=True)
- unique