第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 Django 中獲取過(guò)濾器鍵和結(jié)果元組

如何在 Django 中獲取過(guò)濾器鍵和結(jié)果元組

慕容3067478 2021-07-29 14:04:39
假設(shè)有一個(gè)包含所有要搜索的鍵的列表,稱為taglist。要過(guò)濾所有 Post contains tag in taglist,我使用以下命令。Post.objects.filter(tags__tag__in=taglist).order_by('-id')并在 class Posttags = models.ManyToManyField('PostMention')在 PostMenthionclass PostMention(models.Model):     tag = models.CharField(unique=True,max_length=200)我會(huì)得到一個(gè)關(guān)于結(jié)果的查詢列表。我可以獲得像這樣的元組列表(each_result,tag_that_used_to_found_the_result)嗎?
查看完整描述

1 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

是的,我們可以將.annotate(..)每一行與相關(guān)的Tag:


from django.db.models import F


Post.objects.filter(

    tags__tag__in=taglist

).annotate(

    the_tag=F('tags__tag')

).order_by('-id')

這里的Post對(duì)象將有一個(gè)額外的屬性.the_tag,它包含匹配的標(biāo)簽的字符串。如果匹配多個(gè)標(biāo)簽,查詢Post集中將有多個(gè)對(duì)象,每個(gè)對(duì)象都有自己的.the_tag屬性。


我們可以將其后處理為 2 元組,但我認(rèn)為屬性是更好的選擇,因?yàn)榇俗侄伟膬?nèi)容很清楚。


查看完整回答
反對(duì) 回復(fù) 2021-08-03
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)