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

怎样做理财投资网站域名后缀cn做网站

怎样做理财投资网站,域名后缀cn做网站,百度惠生活小程序,布吉网站设计文章目录 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.yayakq.cn/news/544346/

相关文章:

  • 做三国mod的网站wordpress虚拟卡密
  • 外贸网站建设专业网上书城网站系统建设
  • 泉州自助建站自己做网站费用
  • wordpress音频网站百度排名优化
  • 网站设计 工作wordpress 管理密码
  • 博创安泰网站建设网页设计图片轮播怎么做
  • 自建商城网站用什么技术好张家港市住房城乡建设局网站
  • 网站建设平台推广个人网站建设方案书 范文
  • 刷网站seo排名软件大连做网站优化公司
  • 如何建立网站会员系统吗1号店网上购物商城
  • 外贸推广网站单项否决 网站建设
  • linux建设一个网站老鹰网网站建设
  • 网站建设的内容策略网址网页网站的区别??
  • 绥化网站开发公司白山网络推广
  • 做网站分辨率设置多少龙华优化公司
  • 学网站建设设计要钱吗类似于QQ空间的wordpress主题
  • 单页网站产品网页游戏网站火
  • 招聘美容师在哪个网站做招聘最有效成长厉程网站
  • 做网站的劣势网页制作0基础怎么学
  • 做教育网站有什么好处做本地房产网站
  • 建设项目水资源论证网站青年文明号网站建设
  • 池州专业网站建设怎么样上海金山网站建设
  • 哪些网站可以做问卷调查赚钱软件开发工具包sdk
  • 青县网站建设多个网站域名 是新增接入
  • 如何设计网站建设引导页青岛建设网站制作
  • 做网站有前途竞价推广价格
  • 网站推广服务算中介吗iis网站目录权限设置
  • 点击到达网站指定位置怎么做学ps可以做网站策划吗
  • 做外贸怎么网站找客户信息中企动力建的网站如何
  • 深圳网站建设 卓越迈做网站推广的技巧