亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

使用 django orm 寫 exists 條件過濾實例

瀏覽:3日期:2024-10-02 09:40:04

要用django的orm表達sql的exists子查詢,是個比較麻煩的事情,需要做兩部來完成

from django.db.models import Exists, OuterRef # 1. 定義子查詢條件relative_comments = Comment.objects.filter( post=OuterRef(’pk’), # 注意外鍵關聯方式:post為Comment表的字段,pk表示關聯另一表主鍵) # 2. 使用annotate和filter共同定義子查詢Post.objects.annotate( # 使用exists定義一個額外字段 recent_comment=Exists(recent_comments),).filter(recent_comment=True) # 在條件中通過檢查額外字段實現exists子查詢過濾

這種方式比較麻煩,有其它簡便方式的歡迎分享

官網參考: https://docs.djangoproject.com/en/2.1/ref/models/expressions/#filtering-on-a-subquery-expression

補充知識:關于使用django orm 時的坑

跨app 時外鍵報錯

class Host(models.Model):nid = models.AutoField(primary_key=True)hostname = models.CharField(max_length=32, db_index=True)ip = models.GenericIPAddressField(protocol=“ipv4”, db_index=True)port = models.IntegerField()# b = models.ForeignKey(to=“Business”, to_field=‘id’)class HostToApp(models.Model):hobj = models.ForeignKey(to=‘Host’, to_field=‘nid’)aobj = models.ForeignKey(to=‘Application’, to_field=‘id’)class Application(models.Model):name = models.CharField(max_length=32)

以上 model 都在一個models 文件下時不會報錯。 但是一旦出現跨app 時會報以下錯誤:

users.HostToApp.aobj: (fields.E300) Field defines a relation with model ‘Application’, which is either not installed, or is abstract.users.HostToApp.aobj: (fields.E307) The field users.HostToApp.aobj was declared with a lazy reference to ‘users.application’, but app ‘users’ doesn’t provide model ‘application’.

解決方案:

1、

from xxxx.models import Application

2、

class HostToApp(models.Model):hobj = models.ForeignKey(to=‘Host’, to_field=‘nid’)aobj = models.ForeignKey(to=‘xxxx.Application’, to_field=‘id’)

第二步很重要

以上這篇使用 django orm 寫 exists 條件過濾實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 青青草精品在线视频 | 婷婷亚洲国产成人精品性色 | 亚洲图片色 | 成年美女黄网站色视频大全免费 | 黄色免费观看视频 | 久久精品99成人中文字幕880 | 免费人成综合在线视频 | 黄网站免费观看 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 欧美在线观看免费一区视频 | 黄色一级片黄色一级片 | 狠狠亚洲婷婷综合色香 | 国产成人综合网亚洲欧美在线 | 亚州一级| 黄色影片免费观看 | 手机看片高清日韩精品 | 久久精品久久久久久久久人 | 一级色黄 | 韩国xxxx色视频免费 | 丝袜美腿在线观看 | 中文字幕 亚洲 一区二区三区 | 看片久久| 欧洲在线观看在线视频吗 | 九九夜色 | 91精品免费久久久久久久久 | 免费特黄一级欧美大片在线看 | 91porn国产 | 国产精品极品美女自在线看免费一区二区 | 黄色天堂网站 | 亚洲区视频 | 国产成a人片在线观看视频99 | 毛片视频免费网站 | 亚洲欧美日韩网站 | 国产成人高清在线观看播放 | 久久国产精品久久国产精品 | 欧美日韩性视频在线 | 日本一级毛片片在线播放 | 亚洲欧美精品中字久久99 | 日韩成人在线观看视频 | 免费看黄色片视频 | 亚洲精品啪啪一区二区三区 |