技术标签: Django
备份数据库(备份app数据库)
python manage.py dumpdata authorization > authorization_data.json
同步数据库结构到slave(跨DB迁移)
python manage.py migrate --run-syncdb --database slave
同步数据到mysql数据库(导入数据)
python manage.py loaddata authorization_data.json
Django中ORM使用索引的话,会加快检索的速度,mysql底层是B+树
在ORM中添加索引的两种方法:
方法1:在字段后面添加db_index=True
方法2:在模型的Meta属性类中添加参数:
class Meta:
indexes = [
models.Index(fields = [‘nikename’])#独立索引
models.Index(fields = [‘nikename’,“open_id”])#组合索引
]
Django中默认的索引规则:
主键必定是索引
外键是默认索引(也可以不是索引)
Django模型层-关系映射
三种关系映射
一对一的关系
一对多的关系(多对一)
多对多的关系
Django中的关系映射
一对一:OneToOneField
一对多:外键(Foreignkey)
多对多:ManyToManyField 只需要在一个类中添加即可
ORM中批量添加数据
def add_batch():
new_user_list = []
for i in range(10):
open_id = ranstr(32)
nike_name = ranstr(32)
user = UserProfile(open_id = open_id,nikename=nike_name)
new_user_list.append(user)
UserProfile.object.bulk_creat(new_user_lsit)
get 和filter的区别:
get是获取单个数据,查不到会报错
filter返回的是一个列表
批量查找
userobject.filter(open_id_contains = “123”)
批量删除
user.objec.filter(open_id_contains=“test_”).delete()
全部删除
user.objecr.all().delete()
批量修改
user.object.filter(opne_id_contains=“test_”).updata(nikename = “muuu”)
数据库函数:
字符串拼接:Concat
from django.db.model.functions import Concat
def concat_function():
user
查询常用的数据库函数"
in,pk相当于查询猪圈
Entry.objects.filter(id__gt=4)
SQL等效项:
SELECT ... WHERE id > 4;
区分大小写的开头为。
例:
Entry.objects.filter(headline__startswith='Lennon')
SQL等效项:
SELECT ... WHERE headline LIKE 'Lennon%';
SQLite不支持区分大小写的LIKE
语句。startswith
就像istartswith
SQLite一样。
不区分大小写的开头为。
例:
Entry.objects.filter(headline__istartswith='Lennon')
SQL等效项:
SELECT ... WHERE headline ILIKE 'Lennon%';
区分大小写。
例:
Entry.objects.filter(headline__endswith='Lennon')
SQL等效项:
SELECT ... WHERE headline LIKE '%Lennon';
不区分大小写的结尾为。
例:
Entry.objects.filter(headline__iendswith='Lennon')
SQL等效项:
SELECT ... WHERE headline ILIKE '%Lennon'
范围测试(含)。
例:
import datetime
start_date = datetime.date(2005, 1, 1)
end_date = datetime.date(2005, 3, 31)
Entry.objects.filter(pub_date__range=(start_date, end_date))
SQL等效项:
SELECT ... WHERE pub_date BETWEEN '2005-01-01' and '2005-03-31';
vue 移动端使用alloyfinger操作图片拖拽缩放_alloyfinger
通过ADS软件中的DesignKits即可添加村田模型到元器件库中。_如何下载atc的ads电容模型
正则表达式—特殊表达式含义正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。下面列出了正则表达式模式语法中的特殊元素。1.普通字符集1) \w 匹配字母数字及下划线2) \W 匹配非字母数字及下划线3) \s 匹配任意空白字...
题意:有nnn张牌,从上往下的第iii张牌权值是f(i)=itypef(i)=i^{type}f(i)=itype。进行mmm次洗牌操作,每次操作给定aia_iai,将从上往下的前aia_iai张牌分成一堆,后面bib_ibi张牌分成第二堆。如果两堆的牌数分别为X,YX,YX,Y,则有XX+Y\frac{X}{X+Y}X+YX的概率将第一堆的最下面一张牌放在第三堆的最上面,否则将第二堆的最下面放到第三堆的最上面,直到两边都没有牌,第三堆为最终结果。最后qqq次询问从上往下第cic_ici张牌_下降幂 组合公式
目录前言IntroductionMethodDomain Adaptation with Relationship ExtractionCombining the Loss TermsComplexity AnalysisTheoretical Results个人总结前言2018年的NeurIPS。在许多生物和医学环境中,我们通过聚集许多来源来构建一个大的标记语料库,用于目标预测任务。不幸的是,许多源可能与我们的目标任务无关,因此忽略数据集的结构是有害的。所以说不能忽略数据集的结构,而本文提出的多_extracting relationships by multi-domain matching
UBUNTU20.04忘记密码后重新设定第一篇文章,先写一个自己遇到的小问题,因为看到ubuntu20.04对于忘记密码后的操作还没人写过,特此补充。1.重启虚拟机2.重启的时候不停按ESC直到进入一个类似设置的界面选择第二个即进入高级设置。3.进入之后选择recovery模式4.进入recovery模式后,老版本总是给出一堆代码,然后你来毫无头绪的修改代码。在这里,你只需找到root并进入5.下面只需要输入命令passwd即可输入之后会自动让你输入新的密码,然后再输入命令reboot重启_ubuntu 20.04 recovery 重置密码
nth-child()例如:p:nth-child(3)表示满足父元素下的p元素,并且在父元素下位置排第三。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>nth-child()和nth-of-type()</title&_nth-child()和nth-of-type()
以前老资料,可继续下载参考。目 录第1篇 单片机KEIL开发环境第1章点亮LED实例与经典延时程序介绍(看不懂就从第2章动手)1.1 51单片机最小系统与芯片引脚图1.2 点亮LED的多个常用实例1.3 C语言各种延时程序详解1.3.1 经典汇编延时程序时间计算(设晶振频率12Mz)1.3.2 单片机C语言延时程序(大范围精确计算法:晶振频率任意)1.3.3 单片机C语言延时程序(小范围精..._stc 串口1 c程序
前端Ajax 面试题 整理_ajax面试题
c语言实验报告--第9次报告思考题洛阳理工学院实验报告 附:源程序: 第一题: #include intmain() { int*p,a[3],num;printf("请输入3个整数\n");for(num=0;num*(p+1)){}printf("从小到大排列为:\n");for(p=a;p*(p+1)){}num=*p;*p=*(p+1);*(p+1)=num;printf("\...
【问题描述】给定一个长度为 N 的数组 A = [A1, A2, · · · AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2, A3, · · · , AN。当修改 Ai 时,小明会检查 Ai 是否在 A1 ∼ Ai−1 中出现过。如果出现过,则小明会给 Ai 加上 1 ;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1..._给定一个长度为 n 的数组 a = [a1; a2; · · · an],数组中有可能有重复出现 的
虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源,所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:[root@localhostvsftpd]#vimvu...