1. settiings.py连接阿里云服务器上的mysql数据库连接超时问题
代码语言:javascript
复制阿里云:安全组添加mysql(3306)端口
2. 基本指令
代码语言:javascript
复制1.. 生成requirement.txt文件: pip freeze > requirements.txt
2.安装requirement.txt文件依赖 : pip install -r requirements.txt
3. Django-admin startproject swiper ./ : 在当前文件夹下创建Django项目,不会再重复创建swiper项目文件夹
4. ./manage.py makemigrations : 生成数据迁移文件
5. ./manage.py migrate : 数据迁移到数据库
3.django中将Querryset用字典的形式显示出来
代码语言:javascript
复制from user.models import User
from django.forms.models import model_to_dict
u1 = User.ojects.all()
for i in u1:
print(model_to_dict(i))
4.获取两个模型下查询集queryset的并集和交集
(1).取并集
代码语言:javascript
复制1. records = query1 | query2
2. records = (query1 | query2).distinct(): 去除重复数据
django版本在1.11以后支持union方法:
1. q = query1.union(query2) : 去重
2. q = query1.union(query2, all=True) :不去重
3. q = query1.union(query2,query3) : 多个集合求并集
注意:
union只能对具有相同字段和数据类型的查询集执行联合操作
django:values_list限制所选字段,获取不同模型之间的合并:
1. User.objects.all().values_list('username', 'email').union(UserProfile.objects.all().values_list('username', 'email'))# 查询集合并结果
(2)取交集
代码语言:javascript
复制1.
query1 = Model.objects.filter(...)
query2 = Model.objects.filter(...)
query = query1 & query2