我有一個模型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