2010-01-20 33 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对象,或者如果未找到则返回错误。