如何让django实现内连接

时间:2015-04-14 07:28:02

标签: python django

有两个表:

class TBLUserProfile(models.Model):
    userid = models.IntegerField(primary_key=True)
    relmusicuid = models.IntegerField()
    fansnum = models.IntegerField()

class TSinger(models.Model):
   fsinger_id = models.IntegerField()
   ftbl_user_profile = models.ForeignKey(TBLUserProfile, db_column='Fsinger_id')

我想获取Tsinger信息,然后通过TBLUserProfile.fansnum订购,我知道如何编写sql查询:select * from t_singer INNER JOIN tbl_user_profile ON (tbl_user_profile.relmusicuid=t_singer.Fsinger_id) order by tbl_user_profile.fansnum,但我不想使用模型原始函数。 relmusicuid不是主键,否则我可以使用ForeignKey让它工作。我如何使用django模型来实现这一目标?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

Tsinger.objects.all().order_by('ftbl_user_profile__fansnum')

有关Django JOIN的信息: https://docs.djangoproject.com/en/1.8/topics/db/examples/many_to_one/