当前位置: 首页 > news >正文

江苏网站建设找哪家网址域名查询ip地址

江苏网站建设找哪家,网址域名查询ip地址,天津建设网站安全员考试成绩查询,服装网站建设项目规划书文章目录 ORM事务操作开启事务 常见的字段类型和参数ORM还支持用户自定义字段类型ORM常用字段参数外键相关参数 ORM事务操作 引入事务 1.事务的四大特性原子性、一致性、隔离性、持久性 2.相关SQL关键字start transaction;rollback;commit;savapoint; 3.相关重要概念脏读、幻…

文章目录

  • ORM事务操作
      • 开启事务
  • 常见的字段类型和参数
      • ORM还支持用户自定义字段类型
      • ORM常用字段参数
      • 外键相关参数

ORM事务操作

引入事务

1.事务的四大特性原子性、一致性、隔离性、持久性
2.相关SQL关键字start transaction;rollback;commit;savapoint;
3.相关重要概念脏读、幻读、不可重复读、MVCC多版本控制

Django ORM提供了至少三种开启事务的方式

开启事务

from django.db import transactiontry:with transaction.atomic():# SQL1# SQL2# SQL3"""写在同一个with语句的代码块都是属于同一个事务,要么同时成功,要么同时失败"""except Exception as e:print(e)  # 记录日志transaction.rollback()

常见的字段类型和参数

1.AutoField(primary_key)  # 字段才用,可以让它自动创建
2.CharField(max_length)   # 对应varchar字段,存储有限的字符
3.IntegerField            # 整型
4.BigIntergerField        #整型(比如手机号11位)
5.DecimalField(max_digits,decimal_places)   # 小数字段
6.DateField(auto_now,aoto_now_add)    # 日期(年月日)
7.DateTimeField(auto_now auto_now_add)  #日期(年月日时分秒)
8.Booleanfiels:传布尔值自动存0(False)或者1(True)   
9.TextField:存储大段文本
10.EmailField:存储邮箱格式数据
11.FileField:传文件对象,自动保存到提前配置好的路径下并存储该路径信息
12.ForeignKeyField(to='',on_delete)  实际外键字段,建立一对一关系
13.OneToOneField(to='',on_delete)    实际外键字段,建立一对多关系
14.ManyToManyField(to='')             虚拟外键字段,建立多对多关系

需要说明的是,这些orm字段并非和sql字段一一对应,有些是封装了一些逻辑功能在字段的创建、存储过程中的。

ORM还支持用户自定义字段类型

class MyCharField(models.Field):def __init__(self,max_length,*args,**kwargs):self.max_length=max_lengthsuper().__init__(max_length=max_length,*args,**kwargs)def db_type(self,connection):return 'char(%s)' % self.max_lengthclass User(models.Model):name=models.CharField(max_length=32)info=MyCharField(max_length=64)

ORM常用字段参数

1.primary_key      主键字段
2.verbose_name     字段注释
3.max_length       字段长度
4.max_digits       小数总共多少位
5.decimal_places   小数点后面的位数
6.auto_now         每次操作数据自动更新事件
7.auto_now_add     首次创建自动更新事件后续不自动更新
在时间相关字段的独有参数,设置为True则会自动执行相关功能。
8.null             允许字段为空
9.default          字段默认值
10.unique           唯一值
11.db_index         给字段添加索引
12.choices          当某个字段的可能性能够被列举完全的情况下使用
13.to/to_field/on_delete 
eg:性别、学历、工作状态...class User(models.Model):name=models.CharField(max_length=32)info= MyCharField(max_length=64)# 提前列举好对应关系gender_choice=((1,'男性'),(2,'女性'),(3,'其他'),)gender = models.IntergerField(choices=gender_choice,null=True)user_obj = User.objects.filter(pk=1).first()  # 拿到一个对象user_obj.gender  # 直接点显示存储的真实数据user_obj.get_gender_display()  # 通过这个方法拿显示转义后的选项

外键相关参数

to				关联表
to_field		关联字段(不写默认关联数据主键)
on_delete		当删除关联表中的数据时,当前表与其关联的行的行为。(只针对一对多和一对一关系)on_delete()里面相关参数
1、models.CASCADE级联操作,当主表中被连接的一条数据删除时,从表中所有与之关联的数据同时被删除
2、models.SET_NULL当主表中的一行数据删除时,从表中所有与之关联的数据的相关字段设置为null,此时注意定义外键时,这个字段必须可以允许为空
3、models.PROTECT当主表中的一行数据删除时,由于从表中相关字段是受保护的外键,所以都不允许删除
4、models.SET_DEFAULT当主表中的一行数据删除时,从表中所有相关的数据的关联字段设置为默认值,此时注意定义外键时,这个外键字段应该有一个默认值
5、models.SET()当主表中的一条数据删除时,从表中所有的关联数据字段设置为SET()中设置的值,与models.SET_DEFAULT相似,只不过此时从表中的相关字段不需要设置default参数
6、models.DO_NOTHING什么都不做,一切都看数据库级别的约束,注数据库级别的默认约束为RESTRICT,这个约束与django中的models.PROTECT相似
ps:主表一般是指在一对一、一对多中一的那一方,当对其进行删除时,另外一张表的所有元素都应该受到影响
http://www.mmbaike.com/news/77259.html

相关文章:

  • 网站建设需求怎么提国外网站搭建
  • 兴科cms网站建设系统搜索引擎优化网页
  • 榆林做网站网站建设流程
  • 画册设计免费模板百度搜索关键词排名优化
  • 张家港做网站收费标准网络营销自学网站
  • 网站建设的作用有哪些方面域名大全
  • nas搭建网站营销策划品牌策划
  • 副业做网站软件成人短期技能培训
  • 网页制作的公司排名北京优化推广公司
  • 网站备案链接今天发生的重大新闻5条
  • 宁波关键词优化排名工具百度关键词优化词精灵
  • 做日租房 网站网络营销战略
  • 哪个网站是营销型网站好的推广方式
  • 从化网站建设公司互联网舆情监测系统
  • 镇平做网站自媒体视频发布平台
  • 建设网站的服务器费用九幺seo工具
  • 企业网站公告怎么做全国知名网站排名
  • 网站建设岗位职责汕头网站建设推广
  • 做任务赚钱的网站有哪些网络推广代理怎么做
  • 南联企业网站建设谷歌应用商店下载
  • lnmp一键安装包 wordpressseo能干一辈子吗
  • 有一个做ppt的网站吗电子商务网站建设与维护
  • 自己建个网站多少钱自己做网站
  • 手机版网站制作费用网站seo怎么做
  • 两学一做 知识竞赛网站百度大数据分析工具
  • 阿里云备案 网站备案域名网站优化排名首页
  • 白云网站建设多少钱关键词快速上首页排名
  • 网站前端设计理念网站如何宣传推广
  • css div怎么做网站汽车seo是什么意思
  • 做网站ui主要研究内容广州网页定制多少钱