【发布时间】:2021-11-22 21:51:59
【问题描述】:
型号:
class Tweets(models.Model):
date_created = models.DateTimeField(default=now, verbose_name="Created on")
tweet_data = models.TextField(verbose_name='tweet message')
user = models.ForeignKey(User,on_delete=DO_NOTHING)
class UserFollowers(models.Model):
follower_user = models.ForeignKey(User,on_delete=CASCADE,related_name="follower")
followee_user = models.ForeignKey(User,on_delete=CASCADE,related_name="followee")
UserFollowers 表记录了谁关注了谁。
在这里, 我需要获取我关注的人发布的所有推文
目前的做法:
myfollowees = UserFollowers.objects.filter(follower_user=user_idx)
print(myfollowees)
myfolloweeslist = []
for ele in myfollowees:
myfolloweeslist.append(ele.followee_user.id)
my_timeline_tweets = Tweets.objects.filter(user_id__in = myfolloweeslist)
- 生成我的关注者列表(我关注的人的列表)
- 获取推文,其中推文由 userid 发布并且也存在于 myfolloweelist 中
我想知道是否有更好的方法来处理这个问题。
我试过了,它只适用于 user_idx 的一个值,但不适用于其他值:
my_timeline_tweets = Tweets.objects.filter(user__follower = user_idx)
【问题讨论】:
标签: python django django-models django-rest-framework django-views