重庆大渝网新闻,冷俊王爷v俏皮王妃,玫瑰甘露怎么获得
from django.db import models # Create your models here. # 定义游戏模型类,继承models.Model class GameInfo(models.Model): gtitle = models.CharField(max_length=20, verbose_name='名称') game_date = models.DateField(verbose_name='游戏发布日期') # default可以设置默认值 game_download = models.IntegerField(default=0, verbose_name='游戏下载量') gcommnet = models.IntegerField(default=0, verbose_name='游戏评论量') is_delete = models.BooleanField(default=False, verbose_name="逻辑删除") # 定义元数据 class Meta: # db_tablespace 指定这个模型对应的数据表放在哪个数据空间 # app_label 指定模型类的应用app db_table = 'game' # 指名数据库类 verbose_name = '游戏' # 在admin站点显示的名称 verbose_name_plural = verbose_name # 显示复数名称 def __str__(self): """定义数据对象的显示信息""" return self.gtitle # 定义游戏人物类 # 定义英雄模型类HeroInfo class HeroInfo(models.Model): GENDER_CHOICES = ( (0, 'male'), (1, 'female') ) hname = models.CharField(max_length=20, verbose_name='名称') hgender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性别') hcomment = models.CharField(max_length=200, null=True, verbose_name='描述信息') # 关联数据表 外键 hgame = models.ForeignKey(GameInfo, on_delete=models.CASCADE, verbose_name='游戏') # 外键 is_delete = models.BooleanField(default=False, verbose_name='逻辑删除') class Meta: db_table = 'game_heros' verbose_name = '英雄' verbose_name_plural = verbose_name def __str__(self): return self.hname
insert into game(gtitle,game_date, game_download,gcommnet,is_delete) values ('王者荣耀','2015-5-1',122,343,0), ('绝地求生','2016-7-24',363,403,0), ('天天酷跑','2005-12-24',20,80,0), ('时空猎人','1999-11-11',58,24,0);
insert into game_heros(hname,hgender,hgame_id,hcomment,is_delete) values ('妲己',1,1,'魅惑',0), ('凯',0,1,'变身拿刀',0), ('诸葛亮',1,1,'远程导弹',0), ('黄总',1,1,'防御塔',0), ('吃鸡1号',0,1,'吃鸡1号技能',0), ('吃鸡2号',1,2,'吃鸡1号技能',0), ('吃鸡3号',1,2,'吃鸡1号技能',0), ('吃鸡4号',1,2,'吃鸡1号技能',0), ('吃鸡5号',0,2,'吃鸡5号技能',0), ('天天1号',1,3,'天天1号技能',0), ('天天2号',0,3,'天天2号技能',0), ('天天3号',1,3,'天天3号技能',0), ('天天4号',0,3,'天天4号技能',0), ('时空1号',1,4,'时空1号技能',0), ('时空2号',0,4,'时空2号技能',0), ('时空3号',0,4,'时空3号技能',0), ('时空4号',0,4,'时空4号技能',0);
pip install ipython
python manage.py shell
create方法
模型类.objects.create(数据表参数)
save方法
变量 = 模型类(参数)
变量.save()
查询多个值
模型类.objects.all()
查询单个值
模型类.objects.get(id=2)
查询结果的数量
模型类.objects.count()
模型类.objects.filter(id__exact=1)
模型类.objects.filter(gtitle__contains='王')
模型类.objects.filter(gtitle__endswith='耀')
模型类.objects.filter(gtitle__startswith='天')
模型类.objects.filter(gtitle__isnull=False)
模型类.objects.filter(id__in=[1,2])
gt :大于
gte: 大于等于
lt :小与
lte: 小与等于
模型类.objects.filter(id__gt=3)
模型类.objects.exclude(id=1)
模型类.objects.filter(game_date__gt=date(1900,1,1))
from django.db.models import F
模型类.objects.filter(game_download__gte=F('gcomment'))
与:
模型类.objects.filter(game_download__gt=20,id__lt=3)
或:
模型类.object.filter(game_download__gt=20).filter(id_lt=3)
用Q来表示&和|的连接:
模型类.objects.filter(Q(game_download__gt=20) | Q(pk__lt=3))
Avg 平均,Count 数量,Max 最大,Min 最小,Sum 求和:
from jango.db.models import Sum
模型类.objects.aggregate(Sum(game_download))
模型类.objects.all().order_by('game_download')
模型类.objects.all().order_by('-bread')
一对多:
g = GameInfo.objects.get(id=1)
g.heroinfo_set.all()
多对一:
h = HeroInfo.objects.get(id=1)
h.hgame
多对一:
h = HeroInfo.objects.get(id=1)
h.hgame_id
模型类.objects.filter(heroinfo__hname='妲己')
模型类.objects.filter(hgame__btitle='王者荣耀')
hero = HeroInfo.objects.get(hname='妲己')
hero.hname = '王昭君'
hero.save()
HeroInfo.objects.filter(hname='妲己').update(hname='王昭君')
hero = HeroInfo.objects.get(id=3)
hero.delete()
HeroInfo.objects.filter(id=4).delete()
# 在django_test下的models.py文件中定义类 class GameInfoManager(models.Manager): def all(self): return super().filter(is_delete=False) # 在模型类GameInfo中定义管理器 class GameInfo(models.Model): games = GamesInfoManager() #使用方法 GameInfo.games.all()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论