【发布时间】:2014-09-11 12:42:00
【问题描述】:
所以我有两个模型包含主键“用户”
class Reviews(models.Model):
subject_user = models.ForeignKey(User,related_name='reviewed_user')
actor = models.ForeignKey(User) ## irrelavent
text = models.TextField()
class Friendship(models.Model):
head_user = models.ForeignKey(User,related_name='followed')
tail_user = models.ForeignKey(User) ## irrelavent
现在我想查找同样在Friendsip.head_user 中的用户的所有评论。例如,假设用户'1'分别为用户'3'和用户'5'
Reviews:
subject_user_id actor_id text
3 1 LoremIpsum1
5 1 LoremIpsum2
Friendship:
head_user tail_user
3 9
8 9 ### Irrelavent
现在我输出的应该是与“LoremIpsum1”相对应的评论对象,即其 subject_user 也存在于Friendship.head_user 中的评论对象。我尝试了以下
reviews = Reviews.objects.all().select_related('friendship__head_user')
但它给了我所有的评论
编辑:
这是我插入评论的方式:
review, created = Reviews.object.get_or_create(subject_user=target, actor=actor)
review.text = NewReviewText
review.save()
【问题讨论】:
-
你怎么已经有了“LoremIpsum1”的
Review,或者“8”的Friendship? -
我没有完全得到你没有得到的东西......
User '1'为User '3'写了一条评论“LoremIpsum1”,所以我已经有了条目。 -
不,该条目存在于数据库中。但是 you 如何在 code 中有它呢?
-
对不起,我是个菜鸟,但无法解释您的要求。我如何插入评论的代码? (为此编辑了问题):/ #sorry