Django_swiper_project

2023-03-07 14:32:15 浏览数 (1)

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

0 人点赞