我有一个模型USERPROFILE的是,与所谓的技巧 另一个表的多对多关系,我也有一个模型组与所谓的技巧多对多的Django的sql
另一个表的多对多的关系,我想作这个查询会计算出用户配置文件与每个组共有的技能数量。
我也希望进行查询,将算我的一个特定的用户配置文件已经在与他人的用户配置文件cummon技能数量
有人能帮助我做到这一点。 谢谢
型号:
class UserProfile(models.Model):
slug = models.SlugField(max_length=200)
user = models.ForeignKey(User, unique =True)
skills = models.ManyToManyField(Skills,null=True, blank=True)
courses = models.ManyToManyField(Course,null=True, blank=True)
class Group(models.Model):
slug = models.SlugField(max_length=200)
name = models.CharField(max_length=200)
skills = models.ManyToManyField(Skills,null=True, blank=True)
class Skills(models.Model):
slug = models.SlugField(max_length=200)
name = models.CharField(max_length=200)
于是我找到了一种方法来做到这一点团体
groupRecommendation = Group.objects.extra(
select={
'skills_count': """
SELECT COUNT(*) FROM axiom_alto_userprofile_skills
JOIN axiom_alto_group_skills on axiom_alto_userprofile_skills.skills_id = axiom_alto_group_skills.skills_id
WHERE axiom_alto_group_skills.group_id= axiom_alto_group.id AND axiom_alto_userprofile_skills.userprofile_id = %d """ % profile.id,
},
).order_by('-skills_count')
但我不知道如何将用户之间做
请分享模式。 – karthikr 2013-04-05 19:49:34
分享谢谢 – 2013-04-05 20:04:59