所以我學習Django和試圖只用Django的ORM函數來獲取值throught外鍵。我有兩個表:用戶表(默認的Django auth_user系統表)和學生表,其中包含student_id,user_id(FK)和nr_indeksu(這是一個包含學生具體信息的附加信息的數字)。Django的外鍵查詢集(加入)
class Student(models.Model):
user = models.ForeignKey(User)
nr_indeksu = models.BigIntegerField()
def __unicode__(self):
return unicode(self.user
我想通過用戶模型獲取nr_indeksu。換句話說執行這個查詢(使用查詢集):
SELECT nr_indeksu FROM auth_user
INNER JOIN courses_student on auth_user.id = courses_student.user_id;
我一直在使用select_related()函數的嘗試:
u = User.objects.select_related().get(pk=2)
,但是當我試圖訪問nr_indeksu:
u.nr_indeksu
我得到了錯誤的用戶對象有沒有屬性(這是有道理的,因爲nr_indeksu是學生模型,但我不應該能夠從用戶獲取呢?)
的事情是我想從使用JOIN用戶模型和FK關係獲取nr_indeksu,你的回答是隻是簡單的選取從學生模型 – Malyo
不,不是這樣的。 'user__id = 2'表示'從user_id = 2;'中選擇*。這就像一個子查詢。 – sachitad
好吧,我知道了,謝謝 - 但我仍想從用戶對象 – Malyo