首页 > 代码库 > Python 20th Day
Python 20th Day
Model
创建表
from django.db import models class userinfo(models.Model): name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField()
- 基本操作
# 增 # # models.Tb1.objects.create(c1=‘xx‘, c2=‘oo‘) 增加一条数据,可以接受字典类型数据 **kwargs # obj = models.Tb1(c1=‘xx‘, c2=‘oo‘) # obj.save() # 查 # # models.Tb1.objects.get(id=123) # 获取单条数据,不存在则报错(不建议) # models.Tb1.objects.all() # 获取全部 # models.Tb1.objects.filter(name=‘seven‘) # 获取指定条件的数据 # 删 # # models.Tb1.objects.filter(name=‘seven‘).delete() # 删除指定条件的数据 # 改 # models.Tb1.objects.filter(name=‘seven‘).update(gender=‘0‘) # 将指定条件的数据更新,均支持 **kwargs # obj = models.Tb1.objects.get(id=1) # obj.c1 = ‘111‘ # obj.save() # 修改单条数据
- 双下划线
- 限定条件
# 获取个数 # # models.Tb1.objects.filter(name=‘seven‘).count() # 大于,小于 # # models.Tb1.objects.filter(id__gt=1) # 获取id大于1的值 # models.Tb1.objects.filter(id__lt=10) # 获取id小于10的值 # models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值 # in # # models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11、22、33的数据 # models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in # contains # # models.Tb1.objects.filter(name__contains="ven") # models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感 # models.Tb1.objects.exclude(name__icontains="ven") # range # # models.Tb1.objects.filter(id__range=[1, 2]) # 范围bettwen and # 其他类似 # # startswith,istartswith, endswith, iendswith, # order by # # models.Tb1.objects.filter(name=‘seven‘).order_by(‘id‘) # asc # models.Tb1.objects.filter(name=‘seven‘).order_by(‘-id‘) # desc # limit 、offset # # models.Tb1.objects.all()[10:20] # group by from django.db.models import Count, Min, Max, Sum # models.Tb1.objects.filter(c1=1).values(‘id‘).annotate(c=Count(‘num‘)) # SELECT "app01_tb1"."id", COUNT("app01_tb1"."num") AS "c" FROM "app01_tb1" WHERE "app01_tb1"."c1" = 1 GROUP BY "app01_tb1"."id"
连表操作
class Clothes(models.Model): color=models.ForeignKey("Colors") #与颜色表为外键,颜色表为母表 description=models.CharField(max_length=10) #描述 def __str__(self): return self.descriptionclass Colors(models.Model): colors=models.CharField(max_length=10) #蓝色 def __str__(self): return self.colors
#颜色为红的服装,description都更新为大美女#写法1:models.Clothes.objects.filter(color__colors="红").update(description="大美女")#写法2:models.Clothes.objects.filter(color_id=models.Colors.objects.get(colors="红").id).update(description="大美女")#写法3:colors_obj=models.Colors.objects.get(colors="红")colors_obj.clothes_set.filter(id__gte=1).update(description="大美女")
#增添子表数据,形式与一对一一致#添加颜色为绿的服装:小帅哥#方法1:models.Clothes.objects.create(color=models.Colors.objects.get(colors="绿"),description="小帅哥")#方法1补充:models.Clothes.objects.create(color_id=models.Colors.objects.get(colors="绿").id,description="小帅哥")#方法2:c_obj=models.Clothes(color=models.Colors.objects.get(colors="绿"),description="小帅哥")c_obj.save()
Python 20th Day
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。