0
我有2個模型,userProfile和relationship。用戶可以相互關注,並通過關係模型進行關係。下面是代碼:Django在查詢中排除追隨者
class UserProfile(models.Model):
slug = models.SlugField(max_length=200)
user = models.ForeignKey(User, unique =True)
relationships = models.ManyToManyField('self', through='Relationship',symmetrical=False,null=True, blank=True,related_name='related_to')
class Relationship(models.Model):
from_person = models.ForeignKey(UserProfile, related_name='from_people')
to_person = models.ForeignKey(UserProfile, related_name='to_people')
status = models.IntegerField(choices=RELATIONSHIP_STATUSES)
我試圖讓USERPROFILE的排除,然後某個用戶USERPROFILE的名單列表。 這裏是我的查詢:
topUsersRecommendation = UserProfile.objects.exclude(id=profile.id,relationships__to_people__from_person = profile).extra(
select={
'num_group': """
SELECT COUNT(*) FROM axiom_alto_groupuser gu1
JOIN axiom_alto_groupuser gu2 on gu1.group_id = gu2.group_id
WHERE gu2.user_id=axiom_alto_userprofile.id
AND gu1.user_id = %d """ % profile.id,
},
).order_by('-num_group')
但是排除不似乎工作。 感謝您的幫助^^
是什麼目的UserProfile模型中的'relation'字段? – 2013-04-09 07:29:21
對不起,我寫錯了,但在我的代碼,這很好,謝謝你。 – 2013-04-09 08:27:23