电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

django-orm F對(duì)象的使用 按照兩個(gè)字段的和,乘積排序?qū)嵗?/h1>
瀏覽:121日期:2024-10-05 13:16:31

class F

F()是代表模型字段的值,也就是說對(duì)于一些特殊的字段的操作,我們不需要數(shù)據(jù)先取到內(nèi)存中,然后操作,在存儲(chǔ)到db中了。

以下為幾個(gè)使用的經(jīng)典場(chǎng)景:

1. 統(tǒng)計(jì)點(diǎn)擊量,點(diǎn)贊(每次加1)

from django.db.models import FReporters.objects.filter(id=case_id).update(thumb_num=F(’thumb_num’) + 1)

2.一個(gè)合同字段,結(jié)束日期和終止日期的比較很容易實(shí)現(xiàn) 終止日期小于結(jié)束日期

from django.db.models import F

contract_list = Contracts.objects.filter(contract_stop_time__lt=F(’contract_end_time’))

3.如果說按照兩個(gè)字段的和,乘積,差進(jìn)行排序,用F類是最好的解決方法,這樣不必要再添加一個(gè)字段了

# 按照總價(jià)逆序取前十個(gè)goods_list = Goods.objects.all( ).order_by( F(’num’) * F(’unit_price’) ).reversed( )[ :10] # 按照點(diǎn)贊與評(píng)論數(shù)和進(jìn)行排序hot_list = Article.objects.all( ).order_by( F(’thumb_num’) + F(’comment_num’) ).reversed( )

總的來說,F(xiàn)對(duì)象支持對(duì)數(shù)據(jù)的算術(shù)運(yùn)算,還有時(shí)間比較操作,真的是query利器。

補(bǔ)充知識(shí):Django查詢數(shù)據(jù)庫時(shí)各種種類的排序

按照entry_date從小到大查詢數(shù)據(jù),可以寫成:

Content.objects.order_by(’entry_date’)

從大到小排序:

Content.objects.order_by(’-entry_date’)

下面介紹其他種類的排序

隨機(jī)排序:

Content.objects.order_by(’?’)

但是order_by(?)這種方式也許expensive并且slow,這取決于后端數(shù)據(jù)庫。

按照關(guān)系表的字段排序

class Category(Base): code = models.CharField(primary_key=True,max_length=100) title = models.CharField(max_length = 255)class Content(Base): title = models.CharField(max_length=255) description = models.TextField() category = models.ForeignKey(Category, on_delete=models.CASCADE)

# 按照Category的字段code,對(duì)Content進(jìn)行排序,只需要外鍵后加雙下劃線Content.objects.order_by(’category__title’)# 如果只是按照外鍵來排序,會(huì)默認(rèn)按照關(guān)聯(lián)的表的主鍵排序Content.objects.order_by(’category’)# 上面等價(jià)于Content.objects.order_by(’category__code’)# 雙下劃線返回的是join后的結(jié)果集,而單下劃線返回的是單個(gè)表的集合Content.objects.order_by(’category_title’)

Note: 無論是單下劃線還是雙下劃線,我們都可用{{ content.category.title }}在前端獲取到關(guān)聯(lián)表的數(shù)據(jù)。

以上這篇django-orm F對(duì)象的使用 按照兩個(gè)字段的和,乘積排序?qū)嵗褪切【幏窒斫o大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django

主站蜘蛛池模板: 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 岩棉板|岩棉复合板|聚氨酯夹芯板|岩棉夹芯板|彩钢夹芯板-江苏恒海钢结构 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 外贸资讯网 - 洞悉全球贸易,把握市场先机 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 西安中国国际旅行社(西安国旅) | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 牛奶检测仪-乳成分分析仪-北京海谊 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 石英粉,滑石粉厂家,山东滑石粉-莱州市向阳滑石粉有限公司 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 |