如何开启事务
介绍常见的字段类型和参数
图书管理系统
MVC和MTV模式
创建多对多表关系的三种方式
AJAx的介绍
Ajax的案例
————————————————————————————————————————————————————————————————————————————————————————————————
事务是MySql数据中的一个重要概念
事务的目标: 为了保证多个SQL语句执行成功,执行失败,前后保持一致,保证数据安全
ACID属性:
A: C: I: D:
事务的隔离级别 数据库-------》前端-----------》vue,js 冒泡
DBA:运维的范畴
在MySQl开启事务的三个关键字:
start transaction;
commit;
rollback:
Django中 开启事务
from django.db important transaction
try:
with transaction.atomic()
SQL1
SQL2
SQL3
except Exception as e:
print(e)————记录日志 ~错误原因
transaction.rollback()
写在同一个 with语句得 代码块都是属于同一个事务,同时成功 或者 同时失败
常见的字段类型和参数
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)
- 二进制类型
ORM字段参数
#### 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
图书管理系统
首页
作者列表
添加作者
修改作者
删除作者
图书列表 #
添加图书
修改图书
删除图书
出版社列表
添加出版社
修改出版社
删除出版社
标签:删除,models,Python8days,关联,Field,设置,True From: https://www.cnblogs.com/wzh366/p/17839507.html