刷赞网站推广软件,seo在线网站推广,怎么建设网站挣钱,搜索引擎优化案例事务 事务是MySQL数据库中得一个重要概念,事务的目的#xff1a;为了保证多个SQL语句执行成功#xff0c;执行失败#xff0c;前后保持一致#xff0c;保证数据安全。 开启事务的三个关键字 start transaction commit rollback 开启事务 from django.db import transaction…事务 事务是MySQL数据库中得一个重要概念,事务的目的为了保证多个SQL语句执行成功执行失败前后保持一致保证数据安全。 开启事务的三个关键字 start transaction commit rollback 开启事务 from django.db import transactiontry:with transaction.atomic():# SQL1# SQL2# SQL3写在同一个with语句的代码块都是属于同一个事务要么同时成功要么同时失败except Exception as e:print(e) # 记录日志transaction.rollback()
常见的字段类型
字段类型描述AutoFieldint自增列必须填入参数 primary_keyTrue。当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()实例BigAutoFieldbigint自增列必须填入参数 primary_keyTrueSmallIntegerField小整数 -32768 32767PositiveSmallIntegerField正小整数 0 32767BigIntegerField长整型(有符号的) -9223372036854775808 9223372036854775807BooleanField布尔值类型 True/False 1/0TextField文本类型FileField字符串路径保存在数据库文件上传到指定目录
常见的参数
参数描述upload_to 上传文件的保存路径storage None存储组件默认django.core.files.storage.FileSystemStorageTimeField时间格式 HH:MM[:ss[.uuuuuu]]FloatField浮点型DecimalField10进制小数max_digits小数总长度decimal_places小数位长度BinaryField二进制类型
ORM参数
参数描述null用于表示某个字段可以为空。unique如果设置为uniqueTrue 则该字段在此表中必须是唯一的 。db_index如果db_indexTrue 则代表着为此字段设置索引。default为该字段设置默认值。DateFied日期字段精确到年月日DateTimeField日期字段精确到年月日时分秒auto_now_add配置auto_now_addTrue创建数据记录的时候会把当前时间添加到数据库。auto_now配置上auto_nowTrue每次更新数据记录的时候会更新该字段。
关系字段
字段描述to设置要关联的表to_field设置要关联的表的字段related_name反向操作时使用的字段名用于代替原反向查询时的’表名_set’。on_delete当删除关联表中的数据时当前表与其关联的行的行为。models.CASCADE删除关联数据与之关联也删除models.DO_NOTHING删除关联数据什么也不做models.PROTECT删除关联数据引发错误ProtectedErrormodels.SET_NULL删除关联数据与之关联的值设置为null前提FK字段需要设置为可空models.SET_DEFAULT删除关联数据与之关联的值设置为默认值前提FK字段需要设置默认值models.SET删除关联数据与之关联的值设置为指定值设置models.SET(值),与之关联的值设置为可执行对象的返回值设置models.SET(可执行对象)db_constraint是否在数据库中创建外键约束默认为True。
自定义字段
class FixedCharField(models.Field):自定义的char类型的字段类def __init__(self, max_length, *args, **kwargs):self.max_length max_lengthsuper(FixedCharField, self).__init__(max_lengthmax_length, *args, **kwargs)def db_type(self, connection):限定生成数据库表的字段类型为char长度为max_length指定的值return char(%s) % self.max_length