Table of Contents
sockfd = socket(AF_UNIX,SOCK_STREAM)
sockfd.bind(ADDR)
listen()-->accept()-->recv(),send()
进程之信号量(信号灯集)
- 通信原理:对一个公有值,操作它的数量,再根据数量进行一些行为
- 使用方法:
- 1.导入Semaphore
- 2.sem=Semaphore(num) 创建信号量,返回信号量对象
- 3.sem.acquire() 将信号量减1 当信号量为0时阻塞
sem.release() 将信号量加1
sem.get_value() 获取信号量数量
2.灵感代办
3.学习内容
-
Django Shell 使用
- 作用:类似linux下的命令行,可以直接操作一些模块
- 使用方法:
- python manage.py shell
-
Django 查询数据
-
Django数据操作
- 都需要 实体对象(model.Model).objects()调用方法
-
all() 返回全部数据
- 类似select * from table
- 作用:返回全部的数据对象
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
value() 返回指定列的数据对象
- 类似select column1,column2 from table
- 作用:返回指定列的数据对象
- 使用:Entry.objects.value()
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
value_list() 返回指定列的数据对象
- 类似select column1,column2 from table
- 作用:返回指定列的数据对象
- 使用:Entry.objects.value_list()
- 返回的是一个 元组组成形式的查询结果
-
order_by() 返回排序
- select * from table order by column
- 作用:将字段排序后返回
- 使用:Entry.objects.order_by(“-column”)
- -负号是降序排列
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
get()
- 返回一条指定的数据,
- 查询结果多余一条数据则抛出,Model.MultipleObjectsReturned异常
- 查询结果如果没有数据则抛出Model.DoesNotExist异常
-
filter()
- 类似 select * from table wherd id=1;
- 作用:对数据库的数据过滤
- 使用:Entry.object.filter()
- 可以使用字段查找
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
exclude()
- 类似: not
- 作用:反选数据
- 使用:: Entry.objects.exclude(条件)
-
字段查找(查询谓词)
-
使用方法:
- get(column__exact = 1)
- 含义就是 column 的值等于 1
- 值一定是等于
- __exact 等值匹配 (就是等号)
- __contains 包含指定值
- __startswith/__endswith : 以 XXX 开始结束
- __gt , __gte 大于,大于等于
- __lt,__lte : 小于,小于等于
- __in :查找是否在指定范围内(元组/字典)
- __range:查找是否在指定范围内(元组/字典)
-
Django修改数据
-
修改单条数据
- 获得实体对象 ,通过get(),
- 改变实体对象的属性值
- 调用实体对象的.save()方法
-
修改多条数据
- 获得QuerySet对象
- 执行update()方法
- 参数是字典形式
- 字段名 = 新的值
-
删除数据(单条多条通用)
- 调用delete()方法
-
Django 聚合函数查询
-
aggregate 聚合函数使用
- 作用:使用数据库中的聚合函数
- 用法:Entry.objects.aggregate(结果变量名=聚合函数('列'))
- 一定要导入:from django.db.models import *
- 常用聚合函数(聚合函数一定要大写)
- Sum, Avg, Count, Max, Min
- 返回结果:
- 由 结果变量名和值组成的字典,格式为:
- `{"结果变量名": 值}
-
QueryDict对象常用方法
- QueryDict.lists()
- 类似items(),只是它将其中的每个键的值作为列表放在一起。
- QueryDict.dict()
- 将QueryDict转换为Python的字典数据类型,并返回该字典。
- 重复的值,取最后一个
- QueryDict.getlist(key, default=None)
- 返回键对应的值列表。 如果该键不存在并且未提供默认值,则返回一个空列表。
- QueryDict.update(other_dict)
- 用新的QueryDict或字典更新当前QueryDict。
4.扩展延伸知识
-
django models删除重建表
- 需要在数据库中清空 django_migrations
- 需要在项目app中删除 000*.py文件
- 重新执行 makemigrations 和 migrate
-
href链接中,/的作用
- / 代表是绝对路径,从项目根目录算起
- 不加 代表是相对路径,从当前目录开始算起
-
Django数据库迁移时候让选择是否为null
- 1.选择选项1,手动给一个值
- 2.选择暂时忽略
- 3.在model中添加null或者default选项
-
python 字典方法(item(),keys(),value())
- item() 返回键和值
- keys()返回键
- value()返回值
5.知识内容个人梳理
6.今天都复习了之前的什么内容
-
Django Shell 使用
- 作用:类似linux下的命令行,可以直接操作一些模块
- 使用方法:
- python manage.py shell
-
Django 查询数据
-
Django数据操作
- 都需要 实体对象(model.Model).objects()调用方法
-
all() 返回全部数据
- 类似select * from table
- 作用:返回全部的数据对象
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
value() 返回指定列的数据对象
- 类似select column1,column2 from table
- 作用:返回指定列的数据对象
- 使用:Entry.objects.value()
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
value_list() 返回指定列的数据对象
- 类似select column1,column2 from table
- 作用:返回指定列的数据对象
- 使用:Entry.objects.value_list()
- 返回的是一个 元组组成形式的查询结果
-
order_by() 返回排序
- select * from table order by column
- 作用:将字段排序后返回
- 使用:Entry.objects.order_by(“-column”)
- -负号是降序排列
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
get()
- 返回一条指定的数据,
- 查询结果多余一条数据则抛出,Model.MultipleObjectsReturned异常
- 查询结果如果没有数据则抛出Model.DoesNotExist异常
-
filter()
- 类似 select * from table wherd id=1;
- 作用:对数据库的数据过滤
- 使用:Entry.object.filter()
- 可以使用字段查找
- 返回的是一个 QuerySet容器对象,内部存放的是 实体对象
-
exclude()
- 类似: not
- 作用:反选数据
- 使用:: Entry.objects.exclude(条件)
-
字段查找(查询谓词)
-
使用方法:
- get(column__exact = 1)
- 含义就是 column 的值等于 1
- 值一定是等于
- __exact 等值匹配 (就是等号)
- __contains 包含指定值
- __startswith/__endswith : 以 XXX 开始结束
- __gt , __gte 大于,大于等于
- __lt,__lte : 小于,小于等于
- __in :查找是否在指定范围内(元组/字典)
- __range:查找是否在指定范围内(元组/字典)
-
-
Django修改数据
-
修改单条数据
- 获得实体对象 ,通过get(),
- 改变实体对象的属性值
- 调用实体对象的.save()方法
-
修改多条数据
- 获得QuerySet对象
- 执行update()方法
- 参数是字典形式
- 字段名 = 新的值
-
删除数据(单条多条通用)
- 调用delete()方法
-
-
Django 聚合函数查询
-
aggregate 聚合函数使用
- 作用:使用数据库中的聚合函数
- 用法:Entry.objects.aggregate(结果变量名=聚合函数('列'))
- 一定要导入:from django.db.models import *
- 常用聚合函数(聚合函数一定要大写)
- Sum, Avg, Count, Max, Min
- 返回结果:
- 由 结果变量名和值组成的字典,格式为:
- `{"结果变量名": 值}
-
-
QueryDict对象常用方法
- QueryDict.lists()
- 类似items(),只是它将其中的每个键的值作为列表放在一起。
- QueryDict.dict()
- 将QueryDict转换为Python的字典数据类型,并返回该字典。
- 重复的值,取最后一个
- QueryDict.getlist(key, default=None)
- 返回键对应的值列表。 如果该键不存在并且未提供默认值,则返回一个空列表。
- QueryDict.update(other_dict)
- 用新的QueryDict或字典更新当前QueryDict。
- QueryDict.lists()
-
4.扩展延伸知识
-
django models删除重建表
- 需要在数据库中清空 django_migrations
- 需要在项目app中删除 000*.py文件
- 重新执行 makemigrations 和 migrate
-
href链接中,/的作用
- / 代表是绝对路径,从项目根目录算起
- 不加 代表是相对路径,从当前目录开始算起
-
Django数据库迁移时候让选择是否为null
- 1.选择选项1,手动给一个值
- 2.选择暂时忽略
- 3.在model中添加null或者default选项
-
python 字典方法(item(),keys(),value())
- item() 返回键和值
- keys()返回键
- value()返回值
5.知识内容个人梳理
6.今天都复习了之前的什么内容
django models删除重建表
- 需要在数据库中清空 django_migrations
- 需要在项目app中删除 000*.py文件
- 重新执行 makemigrations 和 migrate
href链接中,/的作用
- / 代表是绝对路径,从项目根目录算起
- 不加 代表是相对路径,从当前目录开始算起
Django数据库迁移时候让选择是否为null
- 1.选择选项1,手动给一个值
- 2.选择暂时忽略
- 3.在model中添加null或者default选项
python 字典方法(item(),keys(),value())
- item() 返回键和值
- keys()返回键
- value()返回值
6.今天都复习了之前的什么内容