2010-01-20 34 views
1

當在django中查詢People.objects.all(pk=code)時,pk=code是什麼意思?Django主鍵

+1

如果有幫助,pk是表的'id'的別名 – 2010-01-20 14:25:59

回答

5

這是一個查詢,獲取具有「代碼」值的任何主鍵的People對象。

默認情況下,所有Django模型實例都有一個唯一標識該對象的主鍵。通常它是一個自動遞增的整數,但只要肯定是唯一的,你可以將其定義爲任何你想要的。

http://docs.djangoproject.com/en/dev/topics/db/models/#id1

編輯:現在,我看的代碼片段一點點接近,而不是僅僅假設它說,它並沒有太大的意義。 all()方法應該是一個get()。給all()賦予pk沒有任何意義,因爲它只返回該類型的所有對象。

http://docs.djangoproject.com/en/dev/ref/models/querysets/#all http://docs.djangoproject.com/en/dev/ref/models/querysets/#id5

+0

你的意思是說它的總和就像code = sumthing或orderby code? – Hulk 2010-01-21 05:22:13

6

調用People.objects.all(pk=code)(主叫所有)將導致PK =代碼被忽略和一個QuerySet所有的人返回。

調用People.objects.get(pk=code)(調用得到)將導致返回pk =代碼的People對象,或者如果未找到則返回錯誤。