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

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

Python(Django)如何按時(shí)間戳屬性對(duì)對(duì)象列表進(jìn)行排序

Python(Django)如何按時(shí)間戳屬性對(duì)對(duì)象列表進(jìn)行排序

手掌心 2023-10-25 10:50:36
我有一個(gè)使用此 python 函數(shù)創(chuàng)建的對(duì)象“帖子”列表,我需要按時(shí)間戳屬性對(duì)該列表進(jìn)行排序。def following(request):    posts=[]    follows=Follow.objects.all()    for follow in follows:        if follow.follower==request.user:            posts_user=Post.objects.filter(user=follow.user)            for post in posts_user:                posts.append(post)                return render(request, "network/following.html",{        "posts":posts    })如果這是一個(gè) QuerySet,我將使用此函數(shù)進(jìn)行排序:posts = posts.order_by("-timestamp").all()但這是一個(gè)列表,所以我不能使用這個(gè)函數(shù),它給了我這個(gè)錯(cuò)誤:'list' object has no attribute 'order_by'如何按時(shí)間戳對(duì)此列表進(jìn)行排序,以便最新的帖子位于第一個(gè)?這是 models.py 中的 Post 類(lèi)class Post(models.Model):    user = models.ForeignKey("User", on_delete=models.CASCADE, related_name="user_post")    text=models.TextField(blank=True)    timestamp = models.DateTimeField(auto_now_add=True)    likes=models.IntegerField(default=0)我的想法是將列表轉(zhuǎn)換為查詢(xún)集,但我不知道該怎么做。謝謝你!
查看完整描述

1 回答

?
PIPIONE

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

您可以使用__in?字段查找來(lái)過(guò)濾您的帖子,然后對(duì)該查詢(xún)集進(jìn)行排序。就像是:


Post.objects.filter(

? ? user__in=Follow.objects.filter(

? ? ? ? follower=request.user

? ? ).values_list('user')

).order_by("-timestamp")

我們首先構(gòu)建一個(gè)查詢(xún)集來(lái)過(guò)濾所有等于當(dāng)前用戶(hù)( )Follow的對(duì)象。接下來(lái),我們通過(guò)調(diào)用來(lái)獲取所有這些過(guò)濾對(duì)象上的所有對(duì)象。我們傳遞此查詢(xún)集來(lái)過(guò)濾屬性位于此查詢(xún)集中的對(duì)象。然后我們只需按時(shí)間戳排序即可。followerrequest.userFollow.userFollowvalues_listPostuser


查看完整回答
反對(duì) 回復(fù) 2023-10-25
  • 1 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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